| < draft-ietf-pce-segment-routing-14.txt | draft-ietf-pce-segment-routing-15.txt > | |||
|---|---|---|---|---|
| PCE S. Sivabalan | PCE S. Sivabalan | |||
| Internet-Draft C. Filsfils | Internet-Draft C. Filsfils | |||
| Intended status: Standards Track Cisco Systems, Inc. | Updates: 8408 (if approved) Cisco Systems, Inc. | |||
| Expires: April 16, 2019 J. Tantsura | Intended status: Standards Track J. Tantsura | |||
| Apstra, Inc. | Expires: August 16, 2019 Apstra, Inc. | |||
| W. Henderickx | W. Henderickx | |||
| Nokia | Nokia | |||
| J. Hardwick | J. Hardwick | |||
| Metaswitch Networks | Metaswitch Networks | |||
| October 13, 2018 | February 12, 2019 | |||
| PCEP Extensions for Segment Routing | PCEP Extensions for Segment Routing | |||
| draft-ietf-pce-segment-routing-14 | draft-ietf-pce-segment-routing-15 | |||
| Abstract | Abstract | |||
| Segment Routing (SR) enables any head-end node to select any path | Segment Routing (SR) enables any head-end node to select any path | |||
| without relying on a hop-by-hop signaling technique (e.g., LDP or | without relying on a hop-by-hop signaling technique (e.g., LDP or | |||
| RSVP-TE). It depends only on "segments" that are advertised by Link- | RSVP-TE). It depends only on "segments" that are advertised by link- | |||
| State Interior Gateway Protocols (IGPs). A Segment Routed Path can | state Interior Gateway Protocols (IGPs). A Segment Routing Path can | |||
| be derived from a variety of mechanisms, including an IGP Shortest | be derived from a variety of mechanisms, including an IGP Shortest | |||
| Path Tree (SPT), explicit configuration, or a Path Computation | Path Tree (SPT), explicit configuration, or a Path Computation | |||
| Element (PCE). This document specifies extensions to the Path | Element (PCE). This document specifies extensions to the Path | |||
| Computation Element Communication Protocol (PCEP) that allow a | Computation Element Communication Protocol (PCEP) that allow a | |||
| stateful PCE to compute and initiate Traffic Engineering (TE) paths, | stateful PCE to compute and initiate Traffic Engineering (TE) paths, | |||
| as well as a PCC to request a path subject to certain constraints and | as well as a PCC to request a path subject to certain constraints and | |||
| optimization criteria in SR networks. | optimization criteria in SR networks. | |||
| Requirements Language | Requirements Language | |||
| 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 April 16, 2019. | This Internet-Draft will expire on August 16, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Overview of PCEP Operation in SR Networks . . . . . . . . . . 5 | 3. Overview of PCEP Operation in SR Networks . . . . . . . . . . 5 | |||
| 4. SR-Specific PCEP Message Extensions . . . . . . . . . . . . . 7 | 4. Object Formats . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Object Formats . . . . . . . . . . . . . . . . . . . . . . . 7 | 4.1. The OPEN Object . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5.1. The OPEN Object . . . . . . . . . . . . . . . . . . . . . 7 | 4.1.1. The Path Setup Type Capability TLV . . . . . . . . . 7 | |||
| 5.1.1. The SR PCE Capability sub-TLV . . . . . . . . . . . . 7 | 4.1.2. The SR PCE Capability sub-TLV . . . . . . . . . . . . 8 | |||
| 5.2. The RP/SRP Object . . . . . . . . . . . . . . . . . . . . 8 | 4.2. The RP/SRP Object . . . . . . . . . . . . . . . . . . . . 9 | |||
| 5.3. ERO . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 4.3. ERO . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 5.3.1. SR-ERO Subobject . . . . . . . . . . . . . . . . . . 9 | 4.3.1. SR-ERO Subobject . . . . . . . . . . . . . . . . . . 9 | |||
| 5.3.2. NAI Associated with SID . . . . . . . . . . . . . . . 11 | 4.3.2. NAI Associated with SID . . . . . . . . . . . . . . . 12 | |||
| 5.4. RRO . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.4. RRO . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 5.5. METRIC Object . . . . . . . . . . . . . . . . . . . . . . 13 | 4.5. METRIC Object . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 6. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 5. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 6.1. Exchanging the SR PCE Capability . . . . . . . . . . . . 14 | 5.1. Exchanging the SR PCE Capability . . . . . . . . . . . . 14 | |||
| 6.2. ERO Processing . . . . . . . . . . . . . . . . . . . . . 15 | 5.2. ERO Processing . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 6.2.1. SR-ERO Validation . . . . . . . . . . . . . . . . . . 15 | 5.2.1. SR-ERO Validation . . . . . . . . . . . . . . . . . . 16 | |||
| 6.2.2. Interpreting the SR-ERO . . . . . . . . . . . . . . . 17 | 5.2.2. Interpreting the SR-ERO . . . . . . . . . . . . . . . 18 | |||
| 6.3. RRO Processing . . . . . . . . . . . . . . . . . . . . . 19 | 5.3. RRO Processing . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 19 | 6. Backward Compatibility . . . . . . . . . . . . . . . . . . . 20 | |||
| 8. Management Considerations . . . . . . . . . . . . . . . . . . 20 | 7. Management Considerations . . . . . . . . . . . . . . . . . . 21 | |||
| 8.1. Controlling the Path Setup Type . . . . . . . . . . . . . 20 | 7.1. Controlling the Path Setup Type . . . . . . . . . . . . . 21 | |||
| 8.2. Migrating a Network to Use PCEP Segment Routed Paths . . 21 | 7.2. Migrating a Network to Use PCEP Segment Routed Paths . . 22 | |||
| 8.3. Verification of Network Operation . . . . . . . . . . . . 22 | 7.3. Verification of Network Operation . . . . . . . . . . . . 23 | |||
| 8.4. Relationship to Existing Management Models . . . . . . . 23 | 7.4. Relationship to Existing Management Models . . . . . . . 24 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 10.1. PCEP ERO and RRO subobjects . . . . . . . . . . . . . . 24 | 9.1. PCEP ERO and RRO subobjects . . . . . . . . . . . . . . . 25 | |||
| 10.2. New NAI Type Registry . . . . . . . . . . . . . . . . . 24 | 9.2. New NAI Type Registry . . . . . . . . . . . . . . . . . . 25 | |||
| 10.3. New SR-ERO Flag Registry . . . . . . . . . . . . . . . . 24 | 9.3. New SR-ERO Flag Registry . . . . . . . . . . . . . . . . 25 | |||
| 10.4. PCEP-Error Object . . . . . . . . . . . . . . . . . . . 25 | 9.4. PCEP-Error Object . . . . . . . . . . . . . . . . . . . . 26 | |||
| 10.5. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 26 | 9.5. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 27 | |||
| 10.6. New Path Setup Type . . . . . . . . . . . . . . . . . . 26 | 9.6. PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators . . . 27 | |||
| 10.7. New Metric Type . . . . . . . . . . . . . . . . . . . . 27 | 9.7. New Path Setup Type . . . . . . . . . . . . . . . . . . . 28 | |||
| 10.8. SR PCE Capability Flags . . . . . . . . . . . . . . . . 27 | 9.8. New Metric Type . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 27 | 9.9. SR PCE Capability Flags . . . . . . . . . . . . . . . . . 28 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 28 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 29 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 29 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 | 12.2. Informative References . . . . . . . . . . . . . . . . . 30 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | ||||
| 1. Introduction | 1. Introduction | |||
| Segment Routing (SR) leverages the source routing paradigm. Using | Segment Routing (SR) leverages the source routing paradigm. Using | |||
| SR, a source node steers a packet through a path without relying on | SR, a source node steers a packet through a path without relying on | |||
| hop-by-hop signaling protocols such as LDP or RSVP-TE. Each path is | hop-by-hop signaling protocols such as LDP or RSVP-TE. Each path is | |||
| specified as an ordered list of instructions called "segments". Each | specified as an ordered list of instructions called "segments". Each | |||
| segment is an instruction to route the packet to a specific place in | segment is an instruction to route the packet to a specific place in | |||
| the network, or to perform a specific service on the packet. A | the network, or to perform a function on the packet. A database of | |||
| database of segments can be distributed through the network using a | segments can be distributed through the network using a routing | |||
| routing protocol (such as IS-IS or OSPF) or by any other means. | protocol (such as IS-IS or OSPF) or by any other means. Several | |||
| Several types of segment are defined. A node segment represents an | types of segment are defined. A node segment uniquely identifies a | |||
| ECMP-aware shortest-path to a specific node, and is always identified | specific node in the SR domain. Each router in the SR domain | |||
| uniquely within the SR/IGP domain. An adjacency segment represents a | associates a node segment with an ECMP-aware shortest path to the | |||
| node that it identifies. An adjacency segment represents a | ||||
| unidirectional adjacency. An adjacency segment is local to the node | unidirectional adjacency. An adjacency segment is local to the node | |||
| which advertises it. Both node segments and adjacency segments can | which advertises it. Both node segments and adjacency segments can | |||
| be used for SR Traffic Engineering (SR-TE). | be used for SR. | |||
| [RFC8402] describes the SR architecture. The corresponding IS-IS and | [RFC8402] describes the SR architecture. The corresponding IS-IS and | |||
| OSPF extensions are specified in | OSPF extensions are specified in | |||
| [I-D.ietf-isis-segment-routing-extensions] and | [I-D.ietf-isis-segment-routing-extensions] and | |||
| [I-D.ietf-ospf-segment-routing-extensions], respectively. | [I-D.ietf-ospf-segment-routing-extensions], respectively. | |||
| The SR architecture can be implemented using either an MPLS | The SR architecture can be implemented using either an MPLS | |||
| forwarding plane [I-D.ietf-spring-segment-routing-mpls] or an IPv6 | forwarding plane [I-D.ietf-spring-segment-routing-mpls] or an IPv6 | |||
| forwarding plane [I-D.ietf-6man-segment-routing-header]. The MPLS | forwarding plane [I-D.ietf-6man-segment-routing-header]. The MPLS | |||
| forwarding plane can be applied to SR without any change, in which | forwarding plane can be applied to SR without any change, in which | |||
| case an SR path corresponds to an MPLS Label Switching Path (LSP). | case an SR path corresponds to an MPLS Label Switching Path (LSP). | |||
| This document is relevant to the MPLS forwarding plane only. In this | This document is relevant to the MPLS forwarding plane only. In this | |||
| document, "Node-SID" and "Adjacency-SID" denote Node Segment | document, "Node-SID" and "Adjacency-SID" denote Node Segment | |||
| Identifier and Adjacency Segment Identifier respectively. | Identifier and Adjacency Segment Identifier respectively. | |||
| A Segment Routed path (SR path) can be derived from an IGP Shortest | A Segment Routing path (SR path) can be derived from an IGP Shortest | |||
| Path Tree (SPT). SR-TE paths may not follow an IGP SPT. Such paths | Path Tree (SPT). SR-TE paths may not follow an IGP SPT. Such paths | |||
| may be chosen by a suitable network planning tool and provisioned on | may be chosen by a suitable network planning tool and provisioned on | |||
| the ingress node of the SR-TE path. | the ingress node of the SR-TE path. | |||
| [RFC5440] describes the Path Computation Element Communication | [RFC5440] describes the Path Computation Element Communication | |||
| Protocol (PCEP) for communication between a Path Computation Client | Protocol (PCEP) for communication between a Path Computation Client | |||
| (PCC) and a Path Computation Element (PCE) or between a pair of PCEs. | (PCC) and a Path Computation Element (PCE) or between a pair of PCEs. | |||
| A PCE computes paths for MPLS Traffic Engineering LSPs (MPLS-TE LSPs) | A PCE computes paths for MPLS Traffic Engineering LSPs (MPLS-TE LSPs) | |||
| based on various constraints and optimization criteria. [RFC8231] | based on various constraints and optimization criteria. [RFC8231] | |||
| specifies extensions to PCEP that allow a stateful PCE to compute and | specifies extensions to PCEP that allow a stateful PCE to compute and | |||
| skipping to change at page 4, line 29 ¶ | skipping to change at page 4, line 31 ¶ | |||
| pair of PCEs, delegation of LSP control, reporting of LSP state from | pair of PCEs, delegation of LSP control, reporting of LSP state from | |||
| a PCC to a PCE, controlling the setup and path routing of an LSP from | a PCC to a PCE, controlling the setup and path routing of an LSP from | |||
| a PCE to a PCC. Stateful PCEP extensions are intended for an | a PCE to a PCC. Stateful PCEP extensions are intended for an | |||
| operational model in which LSPs are configured on the PCC, and | operational model in which LSPs are configured on the PCC, and | |||
| control over them is delegated to the PCE. | control over them is delegated to the PCE. | |||
| A mechanism to dynamically initiate LSPs on a PCC based on the | A mechanism to dynamically initiate LSPs on a PCC based on the | |||
| requests from a stateful PCE or a controller using stateful PCE is | requests from a stateful PCE or a controller using stateful PCE is | |||
| specified in [RFC8281]. This mechanism is useful in Software Defined | specified in [RFC8281]. This mechanism is useful in Software Defined | |||
| Networking (SDN) applications, such as on-demand engineering, or | Networking (SDN) applications, such as on-demand engineering, or | |||
| bandwidth calendaring. | bandwidth calendaring [RFC8413]. | |||
| It is possible to use a stateful PCE for computing one or more SR-TE | It is possible to use a stateful PCE for computing one or more SR-TE | |||
| paths taking into account various constraints and objective | paths taking into account various constraints and objective | |||
| functions. Once a path is chosen, the stateful PCE can initiate an | functions. Once a path is chosen, the stateful PCE can initiate an | |||
| SR-TE path on a PCC using PCEP extensions specified in [RFC8281] | SR-TE path on a PCC using PCEP extensions specified in [RFC8281] | |||
| using the SR specific PCEP extensions specified in this document. | using the SR specific PCEP extensions specified in this document. | |||
| Additionally, using procedures described in this document, a PCC can | Additionally, using procedures described in this document, a PCC can | |||
| request an SR path from either a stateful or a stateless PCE. | request an SR path from either a stateful or a stateless PCE. | |||
| This specification relies on the procedures specified in [RFC8408] to | This specification relies on the procedures specified in [RFC8408] to | |||
| exchange the segment routing capability and to specify that the path | exchange the segment routing capability and to specify that the path | |||
| setup type of an LSP is segment routing. | setup type of an LSP is segment routing. This specification also | |||
| updates [RFC8408] to clarify the use of sub-TLVs in the PATH-SETUP- | ||||
| TYPE-CAPABILITY TLV. See Section 4.1.1 for details. | ||||
| This specification provides a mechanism for a network controller | This specification provides a mechanism for a network controller | |||
| (acting as a PCE) to instantiate candidate paths for an SR Policy | (acting as a PCE) to instantiate candidate paths for an SR Policy | |||
| onto a head-end node (acting as a PCC) using PCEP. For more | onto a head-end node (acting as a PCC) using PCEP. For more | |||
| information on the SR Policy Architecture, see | information on the SR Policy Architecture, see | |||
| [I-D.ietf-spring-segment-routing-policy]. | [I-D.ietf-spring-segment-routing-policy]. | |||
| 2. Terminology | 2. Terminology | |||
| The following terminologies are used in this document: | The following terminologies are used in this document: | |||
| ERO: Explicit Route Object | ERO: Explicit Route Object | |||
| IGP: Interior Gateway Protocol | IGP: Interior Gateway Protocol | |||
| IS-IS: Intermediate System to Intermediate System | IS-IS: Intermediate System to Intermediate System | |||
| LSR: Label Switching Router | LSR: Label Switching Router | |||
| MSD: Maximum SID Depth | MSD: Base MPLS Imposition Maximum SID Depth, as defined in [RFC8491] | |||
| NAI: Node or Adjacency Identifier | NAI: Node or Adjacency Identifier | |||
| OSPF: Open Shortest Path First | OSPF: Open Shortest Path First | |||
| PCC: Path Computation Client | PCC: Path Computation Client | |||
| PCE: Path Computation Element | PCE: Path Computation Element | |||
| PCEP: Path Computation Element Communication Protocol | PCEP: Path Computation Element Communication Protocol | |||
| RRO: Record Route Object | RRO: Record Route Object | |||
| SID: Segment Identifier | SID: Segment Identifier | |||
| SR: Segment Routing | SR: Segment Routing | |||
| SR-DB: Segment Routing Database (as defined in | SR-DB: Segment Routing Database: the collection of SRGBs, SRLBs and | |||
| [I-D.ietf-spring-segment-routing-policy]) | SIDs and the objects they map to, advertised by a link state IGP | |||
| SRGB: Segment Routing Global Block | ||||
| SRLB: Segment Routing Local Block | ||||
| SR-TE: Segment Routing Traffic Engineering | SR-TE: Segment Routing Traffic Engineering | |||
| 3. Overview of PCEP Operation in SR Networks | 3. Overview of PCEP Operation in SR Networks | |||
| In an SR network, the ingress node of an SR path prepends an SR | In an SR network, the ingress node of an SR path prepends an SR | |||
| header to all outgoing packets. The SR header consists of a list of | header to all outgoing packets. The SR header consists of a list of | |||
| SIDs (or MPLS labels in the context of this document). The header | SIDs (or MPLS labels in the context of this document). The header | |||
| has all necessary information so that, in combination with the | has all necessary information so that, in combination with the | |||
| information distributed by the IGP, the packets can be guided from | information distributed by the IGP, the packets can be guided from | |||
| the ingress node to the egress node of the path; hence, there is no | the ingress node to the egress node of the path; hence, there is no | |||
| need for any signaling protocol. | need for any signaling protocol. | |||
| 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. In | Route Object (ERO), which consists of a sequence of subobjects. SR- | |||
| SR networks, an ingress node of an SR path prepends an SR header to | TE paths computed by a PCE can be represented in an ERO in one of the | |||
| all outgoing packets. The SR header consists of a list of SIDs (or | following forms: | |||
| MPLS labels in the context of this document). SR-TE paths computed | ||||
| by a PCE can be represented in an ERO in one of the following forms: | ||||
| o An ordered set of IP addresses representing network nodes/links. | o An ordered set of IP addresses representing network nodes/links. | |||
| o An ordered set of SIDs, with or without the corresponding IP | o An ordered set of SIDs, with or without the corresponding IP | |||
| addresses. | addresses. | |||
| o An ordered set of MPLS labels, with or without corresponding IP | o An ordered set of MPLS labels, with or without corresponding IP | |||
| address. | address. | |||
| The PCC converts these into an MPLS label stack and next hop, as | The PCC converts these into an MPLS label stack and next hop, as | |||
| described in Section 6.2.2. | described in Section 5.2.2. | |||
| This document defines a new ERO subobject denoted by "SR-ERO | This document defines a new ERO subobject denoted by "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 represented by the SID. SR-capable PCEP speakers | node/adjacency represented by the SID. SR-capable PCEP speakers | |||
| should be able to generate and/or process such ERO subobject. An ERO | should be able to generate and/or process such ERO subobject. An ERO | |||
| containing SR-ERO subobjects can be included in the PCEP Path | containing SR-ERO subobjects can be included in the PCEP Path | |||
| Computation Reply (PCRep) message defined in [RFC5440], the PCEP LSP | Computation Reply (PCRep) message defined in [RFC5440], the PCEP LSP | |||
| Initiate Request message (PCInitiate) defined in [RFC8281], as well | Initiate Request message (PCInitiate) defined in [RFC8281], as well | |||
| as in the PCEP LSP Update Request (PCUpd) and PCEP LSP State Report | as in the PCEP LSP Update Request (PCUpd) and PCEP LSP State Report | |||
| (PCRpt) messages defined in [RFC8231]. | (PCRpt) messages defined in [RFC8231]. | |||
| skipping to change at page 7, line 26 ¶ | skipping to change at page 7, line 28 ¶ | |||
| o Defines a new path setup type to be used in the PATH-SETUP-TYPE | o Defines a new path setup type to be used in the PATH-SETUP-TYPE | |||
| and PATH-SETUP-TYPE-CAPABILITY TLVs ([RFC8408]). | and PATH-SETUP-TYPE-CAPABILITY TLVs ([RFC8408]). | |||
| o Defines a new sub-TLV for the PATH-SETUP-TYPE-CAPABILITY TLV. | o Defines a new sub-TLV for the PATH-SETUP-TYPE-CAPABILITY TLV. | |||
| The extensions specified in this document complement the existing | The extensions specified in this document complement the existing | |||
| PCEP specifications to support SR-TE paths. As such, the PCEP | PCEP specifications to support SR-TE paths. As such, the PCEP | |||
| messages (e.g., Path Computation Request, Path Computation Reply, | messages (e.g., Path Computation Request, Path Computation Reply, | |||
| Path Computation Report, Path Computation Update, Path Computation | Path Computation Report, Path Computation Update, Path Computation | |||
| Initiate, etc.,) MUST be formatted according to [RFC5440], [RFC8231], | Initiate, etc.,) are formatted according to [RFC5440], [RFC8231], | |||
| [RFC8281], and any other applicable PCEP specifications. | [RFC8281], and any other applicable PCEP specifications. | |||
| 4. SR-Specific PCEP Message Extensions | 4. Object Formats | |||
| As defined in [RFC5440], a PCEP message consists of a common header | 4.1. The OPEN Object | |||
| followed by a variable length body made up of mandatory and/or | ||||
| optional objects. This document does not require any changes in the | ||||
| format of the PCReq and PCRep messages specified in [RFC5440], | ||||
| PCInitiate message specified in [RFC8281], and PCRpt and PCUpd | ||||
| messages specified in [RFC8231]. | ||||
| 5. Object Formats | 4.1.1. The Path Setup Type Capability TLV | |||
| 5.1. The OPEN Object | [RFC8408] defines the PATH-SETUP-TYPE-CAPABILITY TLV for use in the | |||
| OPEN object. The PATH-SETUP-TYPE-CAPABILITY TLV contains an optional | ||||
| list of sub-TLVs which are intended to convey parameters that are | ||||
| associated with the path setup types supported by a PCEP speaker. | ||||
| 5.1.1. The SR PCE Capability sub-TLV | This specification updates [RFC8408], as follows. It creates a new | |||
| registry which defines the valid type indicators of the sub-TLVs of | ||||
| the PATH-SETUP-TYPE-CAPABILITY TLV (see Section 9.6). A PCEP speaker | ||||
| MUST NOT include a sub-TLV in the PATH-SETUP-TYPE-CAPABILITY TLV | ||||
| unless it appears in this registry. If a PCEP speaker receives a | ||||
| sub-TLV whose type indicator does not match one of those from the | ||||
| registry, or else is not recognised by the speaker, then the speaker | ||||
| MUST ignore the sub-TLV. | ||||
| 4.1.2. The SR PCE Capability sub-TLV | ||||
| This document defines a new Path Setup Type (PST) for SR, as follows: | This document defines a new Path Setup Type (PST) for SR, as follows: | |||
| o PST = 1: Path is setup using Segment Routing Traffic Engineering. | o PST = 1: Path is setup using Segment Routing Traffic Engineering. | |||
| A PCEP speaker SHOULD indicate its support of the function described | A PCEP speaker SHOULD indicate its support of the function described | |||
| in this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the | in this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the | |||
| OPEN object with this new PST included in the PST list. | OPEN object with this new PST included in the PST list. | |||
| This document also defines the SR-PCE-CAPABILITY sub-TLV. PCEP | This document also defines the SR-PCE-CAPABILITY sub-TLV. PCEP | |||
| skipping to change at page 8, line 17 ¶ | skipping to change at page 8, line 27 ¶ | |||
| capability. If a PCEP speaker includes PST=1 in the PST List of the | capability. If a PCEP speaker includes PST=1 in the PST List of the | |||
| PATH-SETUP-TYPE-CAPABILITY TLV then it MUST also include the SR-PCE- | PATH-SETUP-TYPE-CAPABILITY TLV then it MUST also include the SR-PCE- | |||
| CAPABILITY sub-TLV inside the PATH-SETUP-TYPE-CAPABILITY TLV. | CAPABILITY sub-TLV inside the PATH-SETUP-TYPE-CAPABILITY TLV. | |||
| The format of the SR-PCE-CAPABILITY sub-TLV is shown in the following | The format of the SR-PCE-CAPABILITY sub-TLV is shown in the following | |||
| figure: | figure: | |||
| 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=26 | Length=4 | | | Type=TBD11 | Length=4 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | Flags |N|L| MSD | | | Reserved | Flags |N|X| MSD | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 1: SR-PCE-CAPABILITY sub-TLV format | Figure 1: SR-PCE-CAPABILITY sub-TLV format | |||
| The code point for the TLV type is 26. The TLV length is 4 octets. | The code point for the TLV type is TBD11. The TLV length is 4 | |||
| octets. | ||||
| The 32-bit value is formatted as follows. | The 32-bit value is formatted as follows. | |||
| Reserved: MUST be set to zero by the sender and MUST be ignored by | Reserved: MUST be set to zero by the sender and MUST be ignored by | |||
| the receiver. | the receiver. | |||
| Flags: This document defines the following flag bits. The other | Flags: This document defines the following flag bits. The other | |||
| bits MUST be set to zero by the sender and MUST be ignored by the | bits MUST be set to zero by the sender and MUST be ignored by the | |||
| receiver. | receiver. | |||
| * N: A PCC sets this bit to 1 to indicate that it is capable of | * N: A PCC sets this flag bit to 1 to indicate that it is capable | |||
| resolving a Node or Adjacency Identifier (NAI) to a SID. | of resolving a Node or Adjacency Identifier (NAI) to a SID. | |||
| * L: A PCC sets this bit to 1 to indicate that it does not impose | * X: A PCC sets this flag bit to 1 to indicate that it does not | |||
| any limit on the MSD. | impose any limit on the MSD. | |||
| Maximum SID Depth (MSD): specifies the maximum number of SIDs (MPLS | Maximum SID Depth (MSD): specifies the maximum number of SIDs (MPLS | |||
| label stack depth in the context of this document) that a PCC is | label stack depth in the context of this document) that a PCC is | |||
| capable of imposing on a packet. Section 6.1 explains the | capable of imposing on a packet. Section 5.1 explains the | |||
| relationship between this field and the L bit. | relationship between this field and the X flag. | |||
| 5.2. The RP/SRP Object | 4.2. The RP/SRP Object | |||
| To set up an SR-TE LSP using SR, the RP or SRP object MUST include | To set up an SR-TE LSP using SR, the RP (Request Parameters) or SRP | |||
| the PATH-SETUP-TYPE TLV, specified in [RFC8408], with the PST set to | (Stateful PCE Request Parameters) object MUST include the PATH-SETUP- | |||
| 1 (path setup using SR-TE). | TYPE TLV, specified in [RFC8408], with the PST set to 1 (path setup | |||
| using SR-TE). | ||||
| The LSP-IDENTIFIERS TLV MAY be present for the above PST type. | The LSP-IDENTIFIERS TLV MAY be present for the above PST type. | |||
| 5.3. ERO | 4.3. ERO | |||
| An SR-TE path consists of one or more SIDs where each SID MAY be | An SR-TE path consists of one or more SIDs where each SID MAY be | |||
| associated with the identifier that represents the node or adjacency | associated with the identifier that represents the node or adjacency | |||
| corresponding to the SID. This identifier is referred to as the | corresponding to the SID. This identifier is referred to as the | |||
| 'Node or Adjacency Identifier' (NAI). As described later, a NAI can | 'Node or Adjacency Identifier' (NAI). As described later, a NAI can | |||
| be represented in various formats (e.g., IPv4 address, IPv6 address, | be represented in various formats (e.g., IPv4 address, IPv6 address, | |||
| etc). Furthermore, a NAI is used for troubleshooting purposes and, | etc). Furthermore, a NAI is used for troubleshooting purposes and, | |||
| if necessary, to derive SID value as described below. | if necessary, to derive SID value as described below. | |||
| The ERO specified in [RFC5440] is used to carry SR-TE path | The ERO specified in [RFC5440] is used to carry SR-TE path | |||
| skipping to change at page 9, line 31 ¶ | skipping to change at page 9, line 43 ¶ | |||
| consists of one or more ERO subobjects, and MUST carry only SR-ERO | consists of one or more ERO subobjects, and MUST carry only SR-ERO | |||
| subobjects. Note that an SR-ERO subobject does not need to have both | subobjects. Note that an SR-ERO subobject does not need to have both | |||
| SID and NAI. However, at least one of them MUST be present. | SID and NAI. However, at least one of them MUST be present. | |||
| When building the MPLS label stack from ERO, a PCC MUST assume that | When building the MPLS label stack from ERO, a PCC MUST assume that | |||
| SR-ERO subobjects are organized as a last-in-first-out stack. The | SR-ERO subobjects are organized as a last-in-first-out stack. The | |||
| first subobject relative to the beginning of ERO contains the | first subobject relative to the beginning of ERO contains the | |||
| information about the topmost label. The last subobject contains | information about the topmost label. The last subobject contains | |||
| information about the bottommost label. | information about the bottommost label. | |||
| 5.3.1. SR-ERO Subobject | 4.3.1. SR-ERO Subobject | |||
| An SR-ERO subobject is formatted as shown in the following diagram. | An SR-ERO subobject is formatted as shown in the following diagram. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |L| Type=36 | Length | NT | Flags |F|S|C|M| | |L| Type=36 | Length | NT | Flags |F|S|C|M| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SID (optional) | | | SID (optional) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 10, line 4 ¶ | skipping to change at page 10, line 22 ¶ | |||
| // NAI (variable, optional) // | // NAI (variable, optional) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: SR-ERO subobject format | Figure 2: SR-ERO subobject format | |||
| The fields in the SR-ERO Subobject are as follows: | The fields in the SR-ERO Subobject are as follows: | |||
| The 'L' Flag: Indicates whether the subobject represents a loose-hop | The 'L' Flag: Indicates whether the subobject represents a loose-hop | |||
| in the LSP [RFC3209]. If this flag is set to zero, a PCC MUST NOT | in the LSP [RFC3209]. If this flag is set to zero, a PCC MUST NOT | |||
| overwrite the SID value present in the SR-ERO subobject. | overwrite the SID value present in the SR-ERO subobject. | |||
| Otherwise, a PCC MAY expand or replace one or more SID values in | Otherwise, a PCC MAY expand or replace one or more SID values in | |||
| the received SR-ERO based on its local policy. | the received SR-ERO based on its local policy. | |||
| Type: Set to 36. | Type: Set to 36. | |||
| Length: Contains the total length of the subobject in octets, | Length: Contains the total length of the subobject in octets. The | |||
| including the L, Type and Length fields. The Length MUST be at | Length MUST be at least 8, and MUST be a multiple of 4. An SR-ERO | |||
| least 8, and MUST be a multiple of 4. An SR-ERO subobject MUST | subobject MUST contain at least one of a SID or an NAI. The flags | |||
| contain at least one of a SID or an NAI. The length should | described below indicate whether the SID or NAI fields are absent. | |||
| include the SID and NAI fields if and only if they are not absent. | ||||
| The flags described below indicate whether the SID or NAI fields | ||||
| are absent. | ||||
| NAI Type (NT): Indicates the type and format of the NAI contained in | NAI Type (NT): Indicates the type and format of the NAI contained in | |||
| the object body. This document describes the following NT values: | the object body, if any is present. If the F bit is set to zero | |||
| (see below) then the NT field has no meaning and MUST be ignored | ||||
| by the receiver. This document describes the following NT values: | ||||
| NT=0 The NAI is absent. | NT=0 The NAI is absent. | |||
| NT=1 The NAI is an IPv4 node ID. | NT=1 The NAI is an IPv4 node ID. | |||
| NT=2 The NAI is an IPv6 node ID. | NT=2 The NAI is an IPv6 node ID. | |||
| NT=3 The NAI is an IPv4 adjacency. | NT=3 The NAI is an IPv4 adjacency. | |||
| NT=4 The NAI is an IPv6 adjacency. | NT=4 The NAI is an IPv6 adjacency. | |||
| skipping to change at page 11, line 25 ¶ | skipping to change at page 11, line 41 ¶ | |||
| body is absent. The F bit MUST be set to 1 if NT=0, and | body is absent. The F bit MUST be set to 1 if NT=0, and | |||
| otherwise MUST be set to zero. The S and F bits MUST NOT both | otherwise MUST be set to zero. The S and F bits MUST NOT both | |||
| be set to 1. | be set to 1. | |||
| SID: The Segment Identifier. Depending on the M bit, it contains | SID: The Segment Identifier. Depending on the M bit, it contains | |||
| either: | either: | |||
| * A 4 octet index defining the offset into an MPLS label space | * A 4 octet index defining the offset into an MPLS label space | |||
| per [RFC8402]. | per [RFC8402]. | |||
| * A 4 octet MPLS label, where the 20 most significant bits encode | * A 4 octet MPLS Label Stack Entry, where the 20 most significant | |||
| the label value per [RFC3032]. | bits encode the label value per [RFC3032]. | |||
| NAI: The NAI associated with the SID. The NAI's format depends on | NAI: The NAI associated with the SID. The NAI's format depends on | |||
| the value in the NT field, and is described in the following | the value in the NT field, and is described in the following | |||
| section. | section. | |||
| At least one of the SID and the NAI MUST be included in the SR-ERO | At least one of the SID and the NAI MUST be included in the SR-ERO | |||
| subobject, and both MAY be included. | subobject, and both MAY be included. | |||
| 5.3.2. NAI Associated with SID | 4.3.2. NAI Associated with SID | |||
| This document defines the following NAIs: | This document defines the following NAIs: | |||
| 'IPv4 Node ID' is specified as an IPv4 address. In this case, the | 'IPv4 Node ID' is specified as an IPv4 address. In this case, the | |||
| NT value is 1 and the NAI field length is 4 octets. | NT value is 1 and the NAI field length is 4 octets. | |||
| 'IPv6 Node ID' is specified as an IPv6 address. In this case, the | 'IPv6 Node ID' is specified as an IPv6 address. In this case, the | |||
| NT value is 2 and the NAI field length is 16 octets. | NT value is 2 and the NAI field length is 16 octets. | |||
| 'IPv4 Adjacency' is specified as a pair of IPv4 addresses. In this | 'IPv4 Adjacency' is specified as a pair of IPv4 addresses. In this | |||
| skipping to change at page 12, line 48 ¶ | skipping to change at page 13, line 19 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Local Interface ID | | | Local Interface ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Remote Node-ID | | | Remote Node-ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Remote Interface ID | | | Remote Interface ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 5: NAI for Unnumbered adjacency with IPv4 Node IDs | Figure 5: NAI for Unnumbered adjacency with IPv4 Node IDs | |||
| 5.4. RRO | 4.4. RRO | |||
| A PCC reports an SR-TE LSP to a PCE by sending a PCRpt message, per | A PCC reports an SR-TE LSP to a PCE by sending a PCRpt message, per | |||
| [RFC8231]. The RRO on this message represents the SID list that was | [RFC8231]. The RRO on this message represents the SID list that was | |||
| applied by the PCC, that is, the actual path taken by the LSP. The | applied by the PCC, that is, the actual path taken by the LSP. The | |||
| procedures of [RFC8231] with respect to the RRO apply equally to this | procedures of [RFC8231] with respect to the RRO apply equally to this | |||
| specification without change. | specification without change. | |||
| An RRO contains one or more subobjects called "SR-RRO subobjects" | An RRO contains one or more subobjects called "SR-RRO subobjects" | |||
| whose format is shown below: | whose format is shown below: | |||
| skipping to change at page 13, line 30 ¶ | skipping to change at page 14, line 5 ¶ | |||
| Figure 6: SR-RRO Subobject format | Figure 6: SR-RRO Subobject format | |||
| The format of the SR-RRO subobject is the same as that of the SR-ERO | The format of the SR-RRO subobject is the same as that of the SR-ERO | |||
| subobject, but without the L flag. | subobject, but without the L flag. | |||
| A PCC MUST order the SR-RRO subobjects such that the first subobject | A PCC MUST order the SR-RRO subobjects such that the first subobject | |||
| relative to the beginning of the RRO identifies the first segment | relative to the beginning of the RRO identifies the first segment | |||
| visited by the SR-TE LSP, and the last subobject identifies the final | visited by the SR-TE LSP, and the last subobject identifies the final | |||
| segment of the SR-TE LSP, that is, its endpoint. | segment of the SR-TE LSP, that is, its endpoint. | |||
| 5.5. METRIC Object | 4.5. METRIC Object | |||
| A PCC MAY request that PCE optimizes an individual path computation | A PCC MAY request that PCE optimizes an individual path computation | |||
| request to minimize the SID depth of the computed path by using the | request to minimize the SID depth of the computed path by using the | |||
| METRIC object defined in [RFC5440]. This document defines a new type | METRIC object defined in [RFC5440]. This document defines a new type | |||
| for the METRIC object to be used for this purpose, as follows: | for the METRIC object to be used for this purpose, as follows: | |||
| o T = 11: Maximum SID Depth of the requested path. | o T = 11: Maximum SID Depth of the requested path. | |||
| If the PCC includes a METRIC object of this type on a path | If the PCC includes a METRIC object of this type on a path | |||
| computation request, then the PCE MUST minimize the SID depth of the | computation request, then the PCE minimizes the SID depth of the | |||
| computed path. If the B (bound) bit is set to to 1 in the METRIC | computed path. If the B (bound) bit is set to to 1 in the METRIC | |||
| object, then the PCE MUST NOT return a path whose SID depth exceeds | object, then the PCE MUST NOT return a path whose SID depth exceeds | |||
| the given metric-value. If the PCC did not set the L bit in its SR- | the given metric-value. If the PCC did not set the X flag in its SR- | |||
| PCE-CAPABILITY TLV, then it MUST set the B bit to 1. If the PCC set | PCE-CAPABILITY TLV, then it MUST set the B bit to 1. If the PCC set | |||
| the L bit in its SR-PCE-CAPABILITY TLV, then it MAY set the B bit to | the X flag in its SR-PCE-CAPABILITY TLV, then it MAY set the B bit to | |||
| 1 or zero. | 1 or zero. | |||
| If a PCEP session is established with a non-zero default MSD value, | If a PCEP session is established with a non-zero default MSD value, | |||
| then the PCC MUST NOT send an MSD METRIC object with an MSD greater | then the PCC MUST NOT send an MSD METRIC object with an MSD greater | |||
| than the session's default MSD. If the PCE receives a path | than the session's default MSD. If the PCE receives a path | |||
| computation request with an MSD METRIC object on such a session that | computation request with an MSD METRIC object on such a session that | |||
| is greater than the session's default MSD, then it MUST consider the | is greater than the session's default MSD, then it MUST consider the | |||
| request invalid and send a PCErr with Error-Type = 10 ("Reception of | request invalid and send a PCErr with Error-Type = 10 ("Reception of | |||
| an invalid object") and Error-Value 9 ("MSD exceeds the default for | an invalid object") and Error-Value 9 ("MSD exceeds the default for | |||
| the PCEP session"). | the PCEP session"). | |||
| 6. Procedures | 5. Procedures | |||
| 6.1. Exchanging the SR PCE Capability | 5.1. Exchanging the SR PCE Capability | |||
| A PCC indicates that it is capable of supporting the head-end | A PCC indicates that it is capable of supporting the head-end | |||
| functions for SR-TE LSP by including the SR-PCE-CAPABILITY sub-TLV in | functions for SR-TE LSP by including the SR-PCE-CAPABILITY sub-TLV in | |||
| the Open message that it sends to a PCE. A PCE indicates that it is | the Open message that it sends to a PCE. A PCE indicates that it is | |||
| capable of computing SR-TE paths by including the SR-PCE-CAPABILITY | capable of computing SR-TE paths by including the SR-PCE-CAPABILITY | |||
| sub-TLV in the Open message that it sends to a PCC. | sub-TLV in the Open message that it sends to a PCC. | |||
| If a PCEP speaker receives a PATH-SETUP-TYPE-CAPABILITY TLV with a | If a PCEP speaker receives a PATH-SETUP-TYPE-CAPABILITY TLV with a | |||
| PST list containing PST=1, and supports that path setup type, then it | PST list containing PST=1, and supports that path setup type, then it | |||
| checks for the presence of the SR-PCE-CAPABILITY sub-TLV. If that | checks for the presence of the SR-PCE-CAPABILITY sub-TLV. If that | |||
| sub-TLV is absent, then the PCEP speaker MUST send a PCErr message | sub-TLV is absent, then the PCEP speaker MUST send a PCErr message | |||
| with Error-Type 10 (Reception of an invalid object) and Error-Value | with Error-Type 10 (Reception of an invalid object) and Error-Value | |||
| TBD1 (to be assigned by IANA) (Missing PCE-SR-CAPABILITY sub-TLV) and | TBD1 (Missing PCE-SR-CAPABILITY sub-TLV) and MUST then close the PCEP | |||
| MUST then close the PCEP session. If a PCEP speaker receives a PATH- | session. If a PCEP speaker receives a PATH-SETUP-TYPE-CAPABILITY TLV | |||
| SETUP-TYPE-CAPABILITY TLV with a SR-PCE-CAPABILITY sub-TLV, but the | with a SR-PCE-CAPABILITY sub-TLV, but the PST list does not contain | |||
| PST list does not contain PST=1, then the PCEP speaker MUST ignore | PST=1, then the PCEP speaker MUST ignore the SR-PCE-CAPABILITY sub- | |||
| the SR-PCE-CAPABILITY sub-TLV. | TLV. | |||
| If a PCC sets the N flag to 1, then the PCE MAY send an SR-ERO | If a PCC sets the N flag to 1, then the PCE MAY send an SR-ERO | |||
| subobject containing NAI and no SID (see Section 6.2). Otherwise, | subobject containing NAI and no SID (see Section 5.2). Otherwise, | |||
| the PCE MUST NOT send an SR-ERO subobject containing NAI and no SID. | the PCE MUST NOT send an SR-ERO subobject containing NAI and no SID. | |||
| The number of SIDs that can be imposed on a packet depends on the | The number of SIDs that can be imposed on a packet depends on the | |||
| PCC's data plane's capability. If a PCC sets the L flag to 1 then | PCC's data plane's capability. If a PCC sets the X flag to 1 then | |||
| the MSD is not used and MUST be set to zero. If a PCE receives an | the MSD is not used and MUST be set to zero. If a PCE receives an | |||
| SR-PCE-CAPABILITY sub-TLV with the L flag set to 1 then it MUST | SR-PCE-CAPABILITY sub-TLV with the X flag set to 1 then it MUST | |||
| ignore the MSD field and MUST assume that the sender can impose a SID | ignore the MSD field and assumes that the sender can impose a SID | |||
| stack of any depth. If a PCC sets the L flag to zero, then it sets | stack of any depth. If a PCC sets the X flag to zero, then it sets | |||
| the MSD field to the maximum number of SIDs that it can impose on a | the MSD field to the maximum number of SIDs that it can impose on a | |||
| packet. If a PCE receives an SR-PCE-CAPABILITY sub-TLV with the L | packet. In this case, the PCC MUST set the MSD to a number greater | |||
| flag and MSD both set to zero then it MUST assume that the PCC is not | than zero. If a PCE receives an SR-PCE-CAPABILITY sub-TLV with the X | |||
| capable of imposing a SID stack of any depth and hence is not SR-TE | flag and MSD both set to zero then it MUST send a PCErr message with | |||
| capable, unless it learns a non-zero MSD for the PCC through some | Error-Type 10 (Reception of an invalid object) and Error-Value TBD10 | |||
| other means. | (Maximum SID depth must be nonzero) and MUST then close the PCEP | |||
| session. | ||||
| Note that the MSD value exchanged via the SR-PCE-CAPABILITY sub-TLV | Note that the MSD value exchanged via the SR-PCE-CAPABILITY sub-TLV | |||
| indicates the SID/label imposition limit for the PCC node. However, | indicates the SID/label imposition limit for the PCC node. It is | |||
| if a PCE learns the MSD value of a PCC node via different means, e.g | anticipated that, in many deployments, the PCCs will have network | |||
| routing protocols, as specified in: | interfaces that are homogeneous with respect to MSD (that is, each | |||
| [I-D.ietf-isis-segment-routing-msd]; | interface has the same MSD). In such cases, having a per-node MSD on | |||
| the PCEP session is sufficient; the PCE SHOULD interpret this to mean | ||||
| [I-D.ietf-ospf-segment-routing-msd]; | that all network interfaces on the PCC have the given MSD. However, | |||
| [I-D.ietf-idr-bgp-ls-segment-routing-msd], then it ignores the MSD | the PCE MAY also learn a per-node MSD and a per-interface MSD from | |||
| value in the SR-PCE-CAPABILITY sub-TLV. Furthermore, whenever a PCE | the routing protocols, as specified in: [RFC8491]; [RFC8476]; | |||
| learns the MSD for a link via different means, it MUST use that value | [I-D.ietf-idr-bgp-ls-segment-routing-msd]. If the PCE learns the | |||
| for that link regardless of the MSD value exchanged in the SR-PCE- | per-node MSD of a PCC from a routing protocol, then it MUST ignore | |||
| CAPABILITY sub-TLV. | the per-node MSD value in the SR-PCE-CAPABILITY sub-TLV and use the | |||
| per-node MSD learned from the routing protocol instead. If the PCE | ||||
| learns the MSD of a network interface on a PCC from a routing | ||||
| protocol, then it MUST use the per-interface MSD instead of the MSD | ||||
| value in the SR-PCE-CAPABILITY sub-TLV when it computes a path that | ||||
| uses that interface. | ||||
| Once an SR-capable PCEP session is established with a non-zero MSD | Once an SR-capable PCEP session is established with a non-zero MSD | |||
| value, the corresponding PCE MUST NOT send SR-TE paths with a number | value, the corresponding PCE MUST NOT send SR-TE paths with a number | |||
| of SIDs exceeding that MSD value. If a PCC needs to modify the MSD | of SIDs exceeding that MSD value. If a PCC needs to modify the MSD | |||
| value, it MUST close the PCEP session and re-establish it with the | value, it MUST close the PCEP session and re-establish it with the | |||
| new MSD value. If a PCEP session is established with a non-zero MSD | new MSD value. If a PCEP session is established with a non-zero MSD | |||
| value, and the PCC receives an SR-TE path containing more SIDs than | value, and the PCC receives an SR-TE path containing more SIDs than | |||
| specified in the MSD value, the PCC MUST send a PCErr message with | specified in the MSD value, the PCC MUST send a PCErr message with | |||
| Error-Type 10 (Reception of an invalid object) and Error-Value 3 | Error-Type 10 (Reception of an invalid object) and Error-Value 3 | |||
| (Unsupported number of Segment ERO subobjects). If a PCEP session is | (Unsupported number of Segment ERO subobjects). If a PCEP session is | |||
| established with an MSD value of zero, then the PCC MAY specify an | established with an MSD value of zero, then the PCC MAY specify an | |||
| MSD for each path computation request that it sends to the PCE, by | MSD for each path computation request that it sends to the PCE, by | |||
| including a "maximum SID depth" metric object on the request, as | including a "maximum SID depth" metric object on the request, as | |||
| defined in Section 5.5. | defined in Section 4.5. | |||
| The N flag, L flag and MSD value inside the SR-PCE-CAPABILITY sub-TLV | The N flag, X flag and MSD value inside the SR-PCE-CAPABILITY sub-TLV | |||
| are meaningful only in the Open message sent from a PCC to a PCE. As | are meaningful only in the Open message sent from a PCC to a PCE. As | |||
| such, a PCE MUST set the N flag to zero, the L flag to 1 and MSD | such, a PCE MUST set the N flag to zero, the X flag to 1 and MSD | |||
| value to zero in an outbound message to a PCC. Similarly, a PCC MUST | value to zero in an outbound message to a PCC. Similarly, a PCC MUST | |||
| ignore any MSD value received from a PCE. If a PCE receives multiple | ignore any MSD value received from a PCE. If a PCE receives multiple | |||
| SR-PCE-CAPABILITY sub-TLVs in an Open message, it processes only the | SR-PCE-CAPABILITY sub-TLVs in an Open message, it processes only the | |||
| first sub-TLV received. | first sub-TLV received. | |||
| 6.2. ERO Processing | 5.2. ERO Processing | |||
| 6.2.1. SR-ERO Validation | 5.2.1. SR-ERO Validation | |||
| If a PCC does not support the SR PCE Capability and thus cannot | If a PCC does not support the SR PCE Capability and thus cannot | |||
| recognize the SR-ERO or SR-RRO subobjects, it will respond according | recognize the SR-ERO or SR-RRO subobjects, it will respond according | |||
| to the rules for a malformed object per [RFC5440]. | to the rules for a malformed object per [RFC5440]. | |||
| On receiving an SR-ERO, a PCC MUST validate that the Length field, | On receiving an SR-ERO, a PCC MUST validate that the Length field, | |||
| the S bit, the F bit and the NT field are consistent, as follows. | the S bit, the F bit and the NT field are consistent, as follows. | |||
| o If NT=0, the F bit MUST be 1, the S bit MUST be zero and the | o If NT=0, the F bit MUST be 1, the S bit MUST be zero and the | |||
| Length MUST be 8. | Length MUST be 8. | |||
| skipping to change at page 17, line 42 ¶ | skipping to change at page 18, line 25 ¶ | |||
| index value, or no SID. If a PCC detects that the SR-ERO subobjects | index value, or no SID. If a PCC detects that the SR-ERO subobjects | |||
| are a mixture of more than one of these types, then it MUST send a | are a mixture of more than one of these types, then it MUST send a | |||
| PCErr message with Error-Type = 10 ("Reception of an invalid object") | PCErr message with Error-Type = 10 ("Reception of an invalid object") | |||
| and Error-Value = TBD9 ("Inconsistent SIDs in SR-ERO / SR-RRO | and Error-Value = TBD9 ("Inconsistent SIDs in SR-ERO / SR-RRO | |||
| subobjects"). | subobjects"). | |||
| If an ERO specifies a new SR-TE path for an existing LSP and the PCC | If an ERO specifies a new SR-TE path for an existing LSP and the PCC | |||
| determines that the ERO contains SR-ERO subobjects that are not | determines that the ERO contains SR-ERO subobjects that are not | |||
| valid, then the PCC MUST NOT update the LSP. | valid, then the PCC MUST NOT update the LSP. | |||
| 6.2.2. Interpreting the SR-ERO | 5.2.2. Interpreting the SR-ERO | |||
| The SR-ERO contains a sequence of subobjects. According to | The SR-ERO contains a sequence of subobjects. Each SR-ERO subobject | |||
| [I-D.ietf-spring-segment-routing-policy], each SR-ERO subobject in | in the sequence identifies a segment that the traffic will be | |||
| the sequence identifies a segment that the traffic will be directed | directed to, in the order given. That is, the first subobject | |||
| to, in the order given. That is, the first subobject identifies the | identifies the first segment the traffic will be directed to, the | |||
| first segment the traffic will be directed to, the second SR-ERO | second subobject represents the second segment, and so on. | |||
| subobject represents the second segment, and so on. | ||||
| The PCC interprets the SR-ERO by converting it to an MPLS label stack | The PCC interprets the SR-ERO by converting it to an MPLS label stack | |||
| plus a next hop. The PCC sends packets along the segment routed path | plus a next hop. The PCC sends packets along the segment routed path | |||
| by prepending the MPLS label stack onto the packets and sending the | by prepending the MPLS label stack onto the packets and sending the | |||
| resulting, modified packet to the next hop. | resulting, modified packet to the next hop. | |||
| The PCC uses a different procedure to do this conversion, depending | The PCC uses a different procedure to do this conversion, depending | |||
| on the information that the PCE has provided in the subobjects. | on the information that the PCE has provided in the subobjects. | |||
| o If the subobjects contain SID index values, then the PCC converts | o If the subobjects contain SID index values, then the PCC converts | |||
| them into the corresponding MPLS labels by following the procedure | them into the corresponding MPLS labels by following the procedure | |||
| defined in [I-D.ietf-spring-segment-routing-mpls]. | defined in [I-D.ietf-spring-segment-routing-mpls]. | |||
| o If the subobjects contain NAI only, then the PCC first converts | o If the subobjects contain NAI only, the PCC first converts each | |||
| each NAI into a SID index value by looking it up in its local | NAI into a SID index value and then proceeds as above. To convert | |||
| database, and then proceeds as above. | an NAI to a SID index, the PCC looks for a fully-specified prefix | |||
| or adjacency matching the fields in the NAI. If the PCC finds a | ||||
| matching prefix/adjacency, and the matching prefix/adjacency has a | ||||
| SID associated with it, then the PCC uses that SID. If the PCC | ||||
| cannot find a matching prefix/adjacency, or if the matching | ||||
| prefix/adjacency has no SID associated with it, the PCC behaves as | ||||
| specified in Section 5.2.2.1. | ||||
| o If the subobjects contain MPLS labels, then the PCC looks up the | o If the subobjects contain MPLS labels, then the PCC looks up the | |||
| offset of the first subobject's label in its SRGB or SRLB. This | offset of the first subobject's label in its SRGB or SRLB. This | |||
| gives the first SID. The PCC pushes the labels in any remaining | gives the first SID. The PCC pushes the labels in any remaining | |||
| subobjects onto the packet (with the final subobject specifying | subobjects onto the packet (with the final subobject specifying | |||
| the bottom-of-stack label) and then directs the packet to the | the bottom-of-stack label). | |||
| segment identified by the first SID. | ||||
| 6.2.2.1. Handling Errors During SR-ERO Conversion | For all cases above, after the PCC has imposed the label stack on the | |||
| packet, it sends the packet to the segment identified by the first | ||||
| SID. | ||||
| 5.2.2.1. Handling Errors During SR-ERO Conversion | ||||
| There are several errors that can occur during the process of | There are several errors that can occur during the process of | |||
| converting an SR-ERO sequence to an MPLS label stack and a next hop. | converting an SR-ERO sequence to an MPLS label stack and a next hop. | |||
| The PCC deals with them as follows. | The PCC deals with them as follows. | |||
| o If the PCC cannot find a SID index in the SR-DB, it MUST send a | o If the PCC cannot find a SID index in the SR-DB, it MUST send a | |||
| PCErr message with Error-Type = 10 ("Reception of an invalid | PCErr message with Error-Type = 10 ("Reception of an invalid | |||
| object") and Error-Value = TBD3 ("Unknown SID"). | object") and Error-Value = TBD3 ("Unknown SID"). | |||
| o If the PCC cannot find an NAI in the SR-DB, it MUST send a PCErr | o If the PCC cannot find an NAI in the SR-DB, it MUST send a PCErr | |||
| skipping to change at page 19, line 22 ¶ | skipping to change at page 20, line 15 ¶ | |||
| o If the number of labels in the computed label stack exceeds the | o If the number of labels in the computed label stack exceeds the | |||
| maximum number of SIDs that the PCC can impose on the packet, it | maximum number of SIDs that the PCC can impose on the packet, it | |||
| MUST send a PCErr message with Error-Type = 10 ("Reception of an | MUST send a PCErr message with Error-Type = 10 ("Reception of an | |||
| invalid object") and Error-Value = 3 ("Unsupported number of | invalid object") and Error-Value = 3 ("Unsupported number of | |||
| Segment ERO subobjects"). | Segment ERO subobjects"). | |||
| If an ERO specifies a new SR-TE path for an existing LSP and the PCC | If an ERO specifies a new SR-TE path for an existing LSP and the PCC | |||
| encounters an error while processing the ERO, then the PCC MUST NOT | encounters an error while processing the ERO, then the PCC MUST NOT | |||
| update the LSP. | update the LSP. | |||
| 6.3. RRO Processing | 5.3. RRO Processing | |||
| The syntax checking rules that apply to the SR-RRO subobject are | The syntax checking rules that apply to the SR-RRO subobject are | |||
| identical to those of the SR-ERO subobject, except as noted below. | identical to those of the SR-ERO subobject, except as noted below. | |||
| If a PCEP speaker receives an SR-RRO subobject in which both SID and | If a PCEP speaker receives an SR-RRO subobject in which both SID and | |||
| NAI are absent, it MUST consider the entire RRO invalid and send a | NAI are absent, it MUST consider the entire RRO invalid and send a | |||
| PCErr message with Error-Type = 10 ("Reception of an invalid object") | PCErr message with Error-Type = 10 ("Reception of an invalid object") | |||
| and Error-Value = 7 ("Both SID and NAI are absent in SR-RRO | and Error-Value = 7 ("Both SID and NAI are absent in SR-RRO | |||
| subobject"). | subobject"). | |||
| skipping to change at page 19, line 47 ¶ | skipping to change at page 20, line 40 ¶ | |||
| subobject types"). | subobject types"). | |||
| The SR-RRO subobjects can be classified according to whether they | The SR-RRO subobjects can be classified according to whether they | |||
| contain a SID representing an MPLS label value or a SID representing | contain a SID representing an MPLS label value or a SID representing | |||
| an index value, or no SID. If a PCE detects that the SR-RRO | an index value, or no SID. If a PCE detects that the SR-RRO | |||
| subobjects are a mixture of more than one of these types, then it | subobjects are a mixture of more than one of these types, then it | |||
| MUST send a PCErr message with Error-Type = 10 ("Reception of an | MUST send a PCErr message with Error-Type = 10 ("Reception of an | |||
| invalid object") and Error-Value = TBD9 ("Inconsistent SIDs in SR-ERO | invalid object") and Error-Value = TBD9 ("Inconsistent SIDs in SR-ERO | |||
| / SR-RRO subobjects"). | / SR-RRO subobjects"). | |||
| 7. Backward Compatibility | 6. Backward Compatibility | |||
| A PCEP speaker that does not support the SR PCEP capability cannot | A PCEP speaker that does not support the SR PCEP capability cannot | |||
| recognize the SR-ERO or SR-RRO subobjects. As such, it responds | recognize the SR-ERO or SR-RRO subobjects. As such, it responds | |||
| according to the rules for a malformed object, per [RFC5440]. | according to the rules for a malformed object, per [RFC5440]. | |||
| Some implementations, which are compliant with an earlier version of | Some implementations, which are compliant with an earlier version of | |||
| this specification, do not send the PATH-SETUP-TYPE-CAPABILITY TLV in | this specification, do not send the PATH-SETUP-TYPE-CAPABILITY TLV in | |||
| their OPEN objects. Instead, to indicate that they support SR, these | their OPEN objects. Instead, to indicate that they support SR, these | |||
| implementations include the SR-CAPABILITY-TLV as a top-level TLV in | implementations include the SR-CAPABILITY-TLV as a top-level TLV in | |||
| the OPEN object. Unfortunately, some of these implementations made | the OPEN object. Unfortunately, some of these implementations made | |||
| skipping to change at page 20, line 21 ¶ | skipping to change at page 21, line 13 ¶ | |||
| form. Therefore, if a PCEP speaker receives an OPEN object in which | form. Therefore, if a PCEP speaker receives an OPEN object in which | |||
| the SR-CAPABILITY-TLV appears as a top-level TLV, then it MUST | the SR-CAPABILITY-TLV appears as a top-level TLV, then it MUST | |||
| interpret this as though the sender had sent a PATH-SETUP-TYPE- | interpret this as though the sender had sent a PATH-SETUP-TYPE- | |||
| CAPABILITY TLV with a PST list of (0, 1) (that is, both RSVP-TE and | CAPABILITY TLV with a PST list of (0, 1) (that is, both RSVP-TE and | |||
| SR-TE PSTs are supported) and with the SR-CAPABILITY-TLV as a sub- | SR-TE PSTs are supported) and with the SR-CAPABILITY-TLV as a sub- | |||
| TLV. If a PCEP speaker receives an OPEN object in which both the SR- | TLV. If a PCEP speaker receives an OPEN object in which both the SR- | |||
| CAPABILITY-TLV and PATH-SETUP-TYPE-CAPABILITY TLV appear as top-level | CAPABILITY-TLV and PATH-SETUP-TYPE-CAPABILITY TLV appear as top-level | |||
| TLVs, then it MUST ignore the top-level SR-CAPABILITY-TLV and process | TLVs, then it MUST ignore the top-level SR-CAPABILITY-TLV and process | |||
| only the PATH-SETUP-TYPE-CAPABILITY TLV. | only the PATH-SETUP-TYPE-CAPABILITY TLV. | |||
| 8. Management Considerations | 7. Management Considerations | |||
| This document adds a new path setup type to PCEP to allow LSPs to be | This document adds a new path setup type to PCEP to allow LSPs to be | |||
| set up using segment routing techniques. This path setup type may be | set up using segment routing techniques. This path setup type may be | |||
| used with PCEP alongside other path setup types, such as RSVP-TE, or | used with PCEP alongside other path setup types, such as RSVP-TE, or | |||
| it may be used exclusively. | it may be used exclusively. | |||
| 8.1. Controlling the Path Setup Type | 7.1. Controlling the Path Setup Type | |||
| The following factors control which path setup type is used for a | The following factors control which path setup type is used for a | |||
| given LSP. | given LSP. | |||
| o The available path setup types are constrained to those that are | o The available path setup types are constrained to those that are | |||
| supported by, or enabled on, the PCEP speakers. The PATH-SETUP- | supported by, or enabled on, the PCEP speakers. The PATH-SETUP- | |||
| TYPE-CAPABILITY TLV indicates which path setup types a PCEP | TYPE-CAPABILITY TLV indicates which path setup types a PCEP | |||
| speaker supports. To use segment routing as a path setup type, it | speaker supports. To use segment routing as a path setup type, it | |||
| is a prerequisite that the PCC and PCE both include PST=1 in the | is a prerequisite that the PCC and PCE both include PST=1 in the | |||
| list of supported path setup types in this TLV, and also include | list of supported path setup types in this TLV, and also include | |||
| skipping to change at page 21, line 34 ¶ | skipping to change at page 22, line 29 ¶ | |||
| requested for an LSP nominates segment routing or RSVP-TE as the | requested for an LSP nominates segment routing or RSVP-TE as the | |||
| path setup type. | path setup type. | |||
| o PCC implementations MAY allow the operator to configure a | o PCC implementations MAY allow the operator to configure a | |||
| preference for the PCC to nominate segment routing or RSVP-TE as | preference for the PCC to nominate segment routing or RSVP-TE as | |||
| the path setup type if none is specified for an LSP. | the path setup type if none is specified for an LSP. | |||
| o PCC implementations SHOULD allow the operator to configure a PCC | o PCC implementations SHOULD allow the operator to configure a PCC | |||
| to refuse to set up an LSP using an undesired path setup type. | to refuse to set up an LSP using an undesired path setup type. | |||
| 8.2. Migrating a Network to Use PCEP Segment Routed Paths | 7.2. Migrating a Network to Use PCEP Segment Routed Paths | |||
| This section discusses the steps that the operator takes when | This section discusses the steps that the operator takes when | |||
| migrating a network to enable PCEP to set up paths using segment | migrating a network to enable PCEP to set up paths using segment | |||
| routing as the path setup type. | routing as the path setup type. | |||
| o The operator enables the segment routing PST on the PCE servers. | o The operator enables the segment routing PST on the PCE servers. | |||
| o The operator enables the segment routing PST on the PCCs. | o The operator enables the segment routing PST on the PCCs. | |||
| o The operator resets each PCEP session. The PCEP sessions come | o The operator resets each PCEP session. The PCEP sessions come | |||
| skipping to change at page 22, line 28 ¶ | skipping to change at page 23, line 21 ¶ | |||
| and wait instead for a manual reset. | and wait instead for a manual reset. | |||
| Once segment routing is enabled on a PCEP session, it can be used as | Once segment routing is enabled on a PCEP session, it can be used as | |||
| the path setup type for future LSPs. | the path setup type for future LSPs. | |||
| User traffic is not automatically migrated from existing LSPs onto | User traffic is not automatically migrated from existing LSPs onto | |||
| segment routed LSPs just by enabling the segment routing PST in PCEP. | segment routed LSPs just by enabling the segment routing PST in PCEP. | |||
| The migration of user traffic from existing LSPs onto segment routing | The migration of user traffic from existing LSPs onto segment routing | |||
| LSPs is beyond the scope of this document. | LSPs is beyond the scope of this document. | |||
| 8.3. Verification of Network Operation | 7.3. Verification of Network Operation | |||
| The operator needs the following information to verify that PCEP is | The operator needs the following information to verify that PCEP is | |||
| operating correctly with respect to the segment routing path setup | operating correctly with respect to the segment routing path setup | |||
| type. | type. | |||
| o An implementation SHOULD allow the operator to view whether the | o An implementation SHOULD allow the operator to view whether the | |||
| PCEP speaker sent the segment routing PST capability to its peer. | PCEP speaker sent the segment routing PST capability to its peer. | |||
| If the PCEP speaker is a PCC, then the implementation SHOULD also | If the PCEP speaker is a PCC, then the implementation SHOULD also | |||
| allow the operator to view the values of the L and N flags that | allow the operator to view the values of the L and N flags that | |||
| were sent, and the value of the MSD field that was sent. | were sent, and the value of the MSD field that was sent. | |||
| skipping to change at page 23, line 15 ¶ | skipping to change at page 24, line 7 ¶ | |||
| o An implementation SHOULD allow the operator to view the PST that | o An implementation SHOULD allow the operator to view the PST that | |||
| was proposed, or requested, for an LSP, and the PST that was | was proposed, or requested, for an LSP, and the PST that was | |||
| actually used. | actually used. | |||
| o If a PCEP speaker decides to use a different PST to the one that | o If a PCEP speaker decides to use a different PST to the one that | |||
| was proposed, or requested, for an LSP, then the implementation | was proposed, or requested, for an LSP, then the implementation | |||
| SHOULD create a log to inform the operator that the expected PST | SHOULD create a log to inform the operator that the expected PST | |||
| has not been used. The log SHOULD give the reason for this choice | has not been used. The log SHOULD give the reason for this choice | |||
| (local policy, equipment capability etc.) | (local policy, equipment capability etc.) | |||
| o If a PCEP speaker rejects a segment routed path, then it SHOULD | o If a PCEP speaker rejects a segment routing path, then it SHOULD | |||
| create a log to inform the operator, giving the reason for the | create a log to inform the operator, giving the reason for the | |||
| decision (local policy, MSD exceeded etc.) | decision (local policy, MSD exceeded etc.) | |||
| 8.4. Relationship to Existing Management Models | 7.4. Relationship to Existing Management Models | |||
| The PCEP YANG module [I-D.ietf-pce-pcep-yang] should include: | The PCEP YANG module is defined in [I-D.ietf-pce-pcep-yang]. In | |||
| future, this YANG module should be extended or augmented to provide | ||||
| the following additional information relating to segment routing: | ||||
| o advertised PST capabilities and MSD per PCEP session. | o The advertised PST capabilities and MSD per PCEP session. | |||
| o the PST configured for, and used by, each LSP. | o The PST configured for, and used by, each LSP. | |||
| The PCEP MIB [RFC7420] could also be updated to include this | The PCEP MIB [RFC7420] could also be updated to include this | |||
| information. | information. | |||
| 9. Security Considerations | 8. Security Considerations | |||
| The security considerations described in [RFC5440], [RFC8281] and | The security considerations described in [RFC5440], [RFC8231], | |||
| [RFC8408] are applicable to this specification. No additional | [RFC8281] and [RFC8408] are applicable to this specification. No | |||
| security measure is required. | additional security measure is required. | |||
| Note that this specification enables a network controller to | Note that this specification enables a network controller to | |||
| instantiate a path in the network without the use of a hop-by-hop | instantiate a path in the network without the use of a hop-by-hop | |||
| signaling protocol (such as RSVP-TE). This creates an additional | signaling protocol (such as RSVP-TE). This creates an additional | |||
| vulnerability if the security mechanisms of [RFC5440] and [RFC8281] | vulnerability if the security mechanisms of [RFC5440], [RFC8231] and | |||
| are not used, because an attacker could create a path which is not | [RFC8281] are not used. If there is no integrity protection on the | |||
| subjected to the further verification checks that would be performed | session, then an attacker could create a path which is not subjected | |||
| by the signaling protocol. | to the further verification checks that would be performed by the | |||
| signaling protocol. | ||||
| Note that this specification adds the MSD field to the OPEN message | Note that this specification adds the MSD field to the OPEN message | |||
| (see Section 5.1.1) which discloses how many MPLS labels the sender | (see Section 4.1.2) which discloses how many MPLS labels the sender | |||
| can push onto packets that it forwards into the network. If the | can push onto packets that it forwards into the network. If the | |||
| security mechanisms of [RFC5440] and [RFC8281] are not used then an | security mechanisms of [RFC8231] and [RFC8281] are not used with | |||
| attacker could use this new field to gain intelligence about the | strong encryption, then an attacker could use this new field to gain | |||
| capabilities of the edge devices in the network. | intelligence about the capabilities of the edge devices in the | |||
| network. | ||||
| 10. IANA Considerations | ||||
| 10.1. PCEP ERO and RRO subobjects | 9. IANA Considerations | |||
| 9.1. PCEP ERO and RRO subobjects | ||||
| This document defines a new subobject type for the PCEP explicit | This document defines a new subobject type for the PCEP explicit | |||
| route object (ERO), and a new subobject type for the PCEP record | route object (ERO), and a new subobject type for the PCEP record | |||
| route object (RRO). The code points for subobject types of these | route object (RRO). The code points for subobject types of these | |||
| objects is maintained in the RSVP parameters registry, under the | objects is maintained in the RSVP parameters registry, under the | |||
| EXPLICIT_ROUTE and ROUTE_RECORD objects. IANA is requested to | EXPLICIT_ROUTE and ROUTE_RECORD objects. IANA is requested to | |||
| confirm the early allocation of the following code points in the RSVP | confirm the early allocation of the following code points in the RSVP | |||
| Parameters registry for each of the new subobject types defined in | Parameters registry for each of the new subobject types defined in | |||
| this document. | this document. | |||
| Object Subobject Subobject Type | Object Subobject Subobject Type | |||
| --------------------- -------------------------- ------------------ | --------------------- -------------------------- ------------------ | |||
| EXPLICIT_ROUTE SR-ERO (PCEP-specific) 36 | EXPLICIT_ROUTE SR-ERO (PCEP-specific) 36 | |||
| ROUTE_RECORD SR-RRO (PCEP-specific) 36 | ROUTE_RECORD SR-RRO (PCEP-specific) 36 | |||
| 10.2. New NAI Type Registry | 9.2. New NAI Type Registry | |||
| IANA is requested to create a new sub-registry within the "Path | IANA is requested to create a new sub-registry within the "Path | |||
| Computation Element Protocol (PCEP) Numbers" registry called "PCEP | Computation Element Protocol (PCEP) Numbers" registry called "PCEP | |||
| SR-ERO NAI Types". The allocation policy for this new registry | SR-ERO NAI Types". The allocation policy for this new registry | |||
| should be by IETF Review. The new registry should contain the | should be by IETF Review. The new registry should contain the | |||
| following values: | following values: | |||
| Value Description Reference | Value Description Reference | |||
| 0 NAI is absent. This document | 0 NAI is absent. This document | |||
| 1 NAI is an IPv4 node ID. This document | 1 NAI is an IPv4 node ID. This document | |||
| 2 NAI is an IPv6 node ID. This document | 2 NAI is an IPv6 node ID. This document | |||
| 3 NAI is an IPv4 adjacency. This document | 3 NAI is an IPv4 adjacency. This document | |||
| 4 NAI is an IPv6 adjacency. This document | 4 NAI is an IPv6 adjacency. This document | |||
| 5 NAI is an unnumbered This document | 5 NAI is an unnumbered This document | |||
| adjacency with IPv4 node IDs. | adjacency with IPv4 node IDs. | |||
| 10.3. New SR-ERO Flag Registry | 9.3. New SR-ERO Flag Registry | |||
| IANA is requested to create a new sub-registry, named "SR-ERO Flag | IANA is requested to create a new sub-registry, named "SR-ERO Flag | |||
| Field", within the "Path Computation Element Protocol (PCEP) Numbers" | Field", within the "Path Computation Element Protocol (PCEP) Numbers" | |||
| registry to manage the Flag field of the SR-ERO subobject. New | registry to manage the Flag field of the SR-ERO subobject. New | |||
| values are to be assigned by Standards Action [RFC8126]. Each bit | values are to be assigned by Standards Action [RFC8126]. Each bit | |||
| should be tracked with the following qualities: | should be tracked with the following qualities: | |||
| o Bit number (counting from bit 0 as the most significant bit) | o Bit number (counting from bit 0 as the most significant bit) | |||
| o Capability description | o Capability description | |||
| o Defining RFC | ||||
| o Defining RFC | ||||
| The following values are defined in this document: | The following values are defined in this document: | |||
| Bit Description Reference | Bit Description Reference | |||
| 0-7 Unassigned | 0-7 Unassigned | |||
| 8 NAI is absent (F) This document | 8 NAI is absent (F) This document | |||
| 9 SID is absent (S) This document | 9 SID is absent (S) This document | |||
| 10 SID specifies TC, S This document | 10 SID specifies TC, S This document | |||
| and TTL in addition | and TTL in addition | |||
| to an MPLS label (C) | to an MPLS label (C) | |||
| 11 SID specifies an MPLS This document | 11 SID specifies an MPLS This document | |||
| label (M) | label (M) | |||
| 10.4. PCEP-Error Object | 9.4. PCEP-Error Object | |||
| IANA is requested to confirm the early allocation of the code-points | IANA is requested to confirm the early allocation of the code-points | |||
| in the PCEP-ERROR Object Error Types and Values registry for the | in the PCEP-ERROR Object Error Types and Values registry for the | |||
| following new error-values: | following new error-values: | |||
| Error-Type Meaning | Error-Type Meaning | |||
| ---------- ------- | ---------- ------- | |||
| 10 Reception of an invalid object. | 10 Reception of an invalid object. | |||
| Error-value = 2: Bad label value | Error-value = 2: Bad label value | |||
| skipping to change at page 26, line 4 ¶ | skipping to change at page 26, line 49 ¶ | |||
| Error-value = 7: Both SID and NAI | Error-value = 7: Both SID and NAI | |||
| are absent in SR- | are absent in SR- | |||
| RRO subobject | RRO subobject | |||
| Error-value = 9: MSD exceeds the | Error-value = 9: MSD exceeds the | |||
| default for the | default for the | |||
| PCEP session | PCEP session | |||
| Error-value = 10: RRO mixes SR-RRO | Error-value = 10: RRO mixes SR-RRO | |||
| subobjects with | subobjects with | |||
| other subobject | other subobject | |||
| types | types | |||
| Error-value = TBD1: Missing PCE-SR- | Error-value = TBD1: Missing PCE-SR- | |||
| CAPABILITY sub-TLV | CAPABILITY sub-TLV | |||
| Error-value = TBD2: Unsupported NAI | Error-value = TBD2: Unsupported NAI | |||
| Type in SR-ERO | Type in SR-ERO | |||
| subobject | subobject | |||
| Error-value = TBD3: Unknown SID | Error-value = TBD3: Unknown SID | |||
| Error-value = TBD4: NAI cannot be | Error-value = TBD4: NAI cannot be | |||
| resolved to a SID | resolved to a SID | |||
| Error-value = TBD5: Could not find SRGB | Error-value = TBD5: Could not find SRGB | |||
| Error-value = TBD6: SID index exceeds | Error-value = TBD6: SID index exceeds | |||
| SRGB size | SRGB size | |||
| Error-value = TBD7: Could not find SRLB | Error-value = TBD7: Could not find SRLB | |||
| Error-value = TBD8: SID index exceeds | Error-value = TBD8: SID index exceeds | |||
| SRLB size | SRLB size | |||
| Error-value = TBD9: Inconsistent SIDs | Error-value = TBD9: Inconsistent SIDs | |||
| in SR-ERO / SR-RRO | in SR-ERO / SR-RRO | |||
| subobjects | subobjects | |||
| Error-value = TBD10: MSD must be nonzero | ||||
| Note to IANA: this draft originally had an early allocation for | Note to IANA: this draft originally had an early allocation for | |||
| Error-value=11 (Malformed object) in the above list. However, we | Error-value=11 (Malformed object) in the above list. However, we | |||
| have since moved the definition of that code point to RFC8408. | have since moved the definition of that code point to RFC8408. | |||
| Note to IANA: some Error-values in the above list were defined after | Note to IANA: some Error-values in the above list were defined after | |||
| the early allocation took place, and so do not currently have a code | the early allocation took place, and so do not currently have a code | |||
| point assigned. Please assign code points from the indicated | point assigned. Please assign code points from the indicated | |||
| registry and replace each instance of "TBD1", "TBD2" etc. in this | registry and replace each instance of "TBD1", "TBD2" etc. in this | |||
| document with the respective code points. | document with the respective code points. | |||
| Note to IANA: some of the Error-value descriptive strings above have | Note to IANA: some of the Error-value descriptive strings above have | |||
| changed since the early allocation. Please refresh the registry. | changed since the early allocation. Please refresh the registry. | |||
| 10.5. PCEP TLV Type Indicators | 9.5. PCEP TLV Type Indicators | |||
| IANA is requested to confirm the early allocation of the following | IANA is requested to confirm the early allocation of the following | |||
| code point in the PCEP TLV Type Indicators registry. | code point in the PCEP TLV Type Indicators registry. Note that this | |||
| TLV type indicator is deprecated but retained to ensure backwards | ||||
| compatibility with early implementations of this specification. See | ||||
| Section 6 for details. | ||||
| Value Meaning Reference | Value Meaning Reference | |||
| ------------------------- ---------------------------- -------------- | ------------------------- ---------------------------- -------------- | |||
| 26 SR-PCE-CAPABILITY This document | 26 SR-PCE-CAPABILITY This document | |||
| (deprecated) | ||||
| 10.6. New Path Setup Type | 9.6. PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators | |||
| [RFC8408] requests that IANA creates a sub-registry within the "Path | IANA is requested to create a new sub-registry, named "PATH-SETUP- | |||
| Computation Element Protocol (PCEP) Numbers" registry called "PCEP | TYPE-CAPABILITY Sub-TLV Type Indicators", within the "Path | |||
| Path Setup Types". IANA is requested to allocate a new code point | Computation Element Protocol (PCEP) Numbers" registry to manage the | |||
| within this registry, as follows: | type indicator space for sub-TLVs of the PATH-SETUP-TYPE-CAPABILITY | |||
| TLV. New values are to be assigned by Standards Action [RFC8126]. | ||||
| The valid range of values in the registry is 0-65535. IANA is | ||||
| requested to initialize the registry with the following values. All | ||||
| other values in the registry should be marked as "Unassigned". | ||||
| Value Meaning Reference | ||||
| ------------------------- ---------------------------- -------------- | ||||
| 0 Reserved This document | ||||
| TBD11 (recommended 26) SR-PCE-CAPABILITY This document | ||||
| Note to IANA: Please replace each instance of "TBD11" in this | ||||
| document with the allocated code point. We have recommended that | ||||
| value 26 be used for consistency with the deprecated value in the | ||||
| PCEP TLV Type Indicators registry. | ||||
| 9.7. New Path Setup Type | ||||
| [RFC8408] created a sub-registry within the "Path Computation Element | ||||
| Protocol (PCEP) Numbers" registry called "PCEP Path Setup Types". | ||||
| IANA is requested to allocate a new code point within this registry, | ||||
| as follows: | ||||
| Value Description Reference | Value Description Reference | |||
| ------------------------- ---------------------------- -------------- | ------------------------- ---------------------------- -------------- | |||
| 1 Traffic engineering path is This document | 1 Traffic engineering path is This document | |||
| setup using Segment Routing. | setup using Segment Routing. | |||
| 10.7. New Metric Type | 9.8. New Metric Type | |||
| IANA is requested to confirm the early allocation of the following | IANA is requested to confirm the early allocation of the following | |||
| code point in the PCEP METRIC object T field registry: | code point in the PCEP METRIC object T field registry: | |||
| Value Description Reference | Value Description Reference | |||
| ------------------------- ---------------------------- -------------- | ------------------------- ---------------------------- -------------- | |||
| 11 Segment-ID (SID) Depth. This document | 11 Segment-ID (SID) Depth. This document | |||
| 10.8. SR PCE Capability Flags | 9.9. SR PCE Capability Flags | |||
| IANA is requested to create a new sub-registry, named "SR Capability | IANA is requested to create a new sub-registry, named "SR Capability | |||
| Flag Field", within the "Path Computation Element Protocol (PCEP) | Flag Field", within the "Path Computation Element Protocol (PCEP) | |||
| Numbers" registry to manage the Flag field of the SR-PCE-CAPABILITY | Numbers" registry to manage the Flag field of the SR-PCE-CAPABILITY | |||
| TLV. New values are to be assigned by Standards Action [RFC8126]. | TLV. New values are to be assigned by Standards Action [RFC8126]. | |||
| Each bit should be tracked with the following qualities: | Each bit should be tracked with the following qualities: | |||
| o Bit number (counting from bit 0 as the most significant bit) | o Bit number (counting from bit 0 as the most significant bit) | |||
| o Capability description | o Capability description | |||
| o Defining RFC | o Defining RFC | |||
| skipping to change at page 27, line 30 ¶ | skipping to change at page 29, line 4 ¶ | |||
| IANA is requested to create a new sub-registry, named "SR Capability | IANA is requested to create a new sub-registry, named "SR Capability | |||
| Flag Field", within the "Path Computation Element Protocol (PCEP) | Flag Field", within the "Path Computation Element Protocol (PCEP) | |||
| Numbers" registry to manage the Flag field of the SR-PCE-CAPABILITY | Numbers" registry to manage the Flag field of the SR-PCE-CAPABILITY | |||
| TLV. New values are to be assigned by Standards Action [RFC8126]. | TLV. New values are to be assigned by Standards Action [RFC8126]. | |||
| Each bit should be tracked with the following qualities: | Each bit should be tracked with the following qualities: | |||
| o Bit number (counting from bit 0 as the most significant bit) | o Bit number (counting from bit 0 as the most significant bit) | |||
| o Capability description | o Capability description | |||
| o Defining RFC | o Defining RFC | |||
| The following values are defined in this document: | The following values are defined in this document: | |||
| Bit Description Reference | Bit Description Reference | |||
| 0-5 Unassigned | 0-5 Unassigned | |||
| 6 Node or Adjacency This document | 6 Node or Adjacency This document | |||
| Identifier (NAI) is | Identifier (NAI) is | |||
| supported (N) | supported (N) | |||
| 7 Unlimited Maximum SID This document | 7 Unlimited Maximum SID This document | |||
| Depth (L) | Depth (X) | |||
| 11. Contributors | Note to IANA: The name of bit 7 has changed from "Unlimited Maximum | |||
| SID Depth (L)" to "Unlimited Maximum SID Depth (X)". | ||||
| 10. Contributors | ||||
| The following people contributed to this document: | The following people contributed to this document: | |||
| - Lakshmi Sharma | - Lakshmi Sharma | |||
| - Jan Medved | - Jan Medved | |||
| - Edward Crabbe | - Edward Crabbe | |||
| - Robert Raszuk | - Robert Raszuk | |||
| - Victor Lopez | - Victor Lopez | |||
| 12. Acknowledgements | 11. Acknowledgements | |||
| We thank Ina Minei, George Swallow, Marek Zavodsky, Dhruv Dhody, Ing- | We thank Ina Minei, George Swallow, Marek Zavodsky, Dhruv Dhody, Ing- | |||
| Wher Chen and Tomas Janciga for the valuable comments. | Wher Chen and Tomas Janciga for the valuable comments. | |||
| 13. References | 12. References | |||
| 13.1. Normative References | 12.1. Normative References | |||
| [I-D.ietf-spring-segment-routing-mpls] | ||||
| Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., | ||||
| Litkowski, S., and R. Shakir, "Segment Routing with MPLS | ||||
| data plane", draft-ietf-spring-segment-routing-mpls-18 | ||||
| (work in progress), December 2018. | ||||
| [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>. | |||
| [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., | [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., | |||
| Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack | Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack | |||
| Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, | Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, | |||
| <https://www.rfc-editor.org/info/rfc3032>. | <https://www.rfc-editor.org/info/rfc3032>. | |||
| skipping to change at page 29, line 10 ¶ | skipping to change at page 30, line 36 ¶ | |||
| [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., | |||
| 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>. | |||
| [RFC8408] Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. | [RFC8408] Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J. | |||
| Hardwick, "Conveying Path Setup Type in PCE Communication | Hardwick, "Conveying Path Setup Type in PCE Communication | |||
| Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, | Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408, | |||
| July 2018, <https://www.rfc-editor.org/info/rfc8408>. | July 2018, <https://www.rfc-editor.org/info/rfc8408>. | |||
| 13.2. Informative References | [RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, | |||
| "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, | ||||
| DOI 10.17487/RFC8491, November 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8491>. | ||||
| 12.2. Informative References | ||||
| [I-D.ietf-6man-segment-routing-header] | [I-D.ietf-6man-segment-routing-header] | |||
| Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and | Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and | |||
| d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header | d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header | |||
| (SRH)", draft-ietf-6man-segment-routing-header-14 (work in | (SRH)", draft-ietf-6man-segment-routing-header-16 (work in | |||
| progress), June 2018. | progress), February 2019. | |||
| [I-D.ietf-idr-bgp-ls-segment-routing-msd] | [I-D.ietf-idr-bgp-ls-segment-routing-msd] | |||
| Tantsura, J., Chunduri, U., Mirsky, G., and S. Sivabalan, | Tantsura, J., Chunduri, U., Mirsky, G., and S. Sivabalan, | |||
| "Signaling MSD (Maximum SID Depth) using Border Gateway | "Signaling MSD (Maximum SID Depth) using Border Gateway | |||
| Protocol Link-State", draft-ietf-idr-bgp-ls-segment- | Protocol Link-State", draft-ietf-idr-bgp-ls-segment- | |||
| routing-msd-02 (work in progress), August 2018. | routing-msd-02 (work in progress), August 2018. | |||
| [I-D.ietf-isis-segment-routing-extensions] | [I-D.ietf-isis-segment-routing-extensions] | |||
| Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., | Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., | |||
| Gredler, H., Litkowski, S., Decraene, B., and J. Tantsura, | Gredler, H., and B. Decraene, "IS-IS Extensions for | |||
| "IS-IS Extensions for Segment Routing", draft-ietf-isis- | Segment Routing", draft-ietf-isis-segment-routing- | |||
| segment-routing-extensions-19 (work in progress), July | extensions-22 (work in progress), December 2018. | |||
| 2018. | ||||
| [I-D.ietf-isis-segment-routing-msd] | ||||
| Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, | ||||
| "Signaling MSD (Maximum SID Depth) using IS-IS", draft- | ||||
| ietf-isis-segment-routing-msd-19 (work in progress), | ||||
| October 2018. | ||||
| [I-D.ietf-ospf-segment-routing-extensions] | [I-D.ietf-ospf-segment-routing-extensions] | |||
| Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | |||
| Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | |||
| Extensions for Segment Routing", draft-ietf-ospf-segment- | Extensions for Segment Routing", draft-ietf-ospf-segment- | |||
| routing-extensions-25 (work in progress), April 2018. | routing-extensions-27 (work in progress), December 2018. | |||
| [I-D.ietf-ospf-segment-routing-msd] | ||||
| Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, | ||||
| "Signaling MSD (Maximum SID Depth) using OSPF", draft- | ||||
| ietf-ospf-segment-routing-msd-23 (work in progress), | ||||
| October 2018. | ||||
| [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-08 (work in progress), June 2018. | yang-09 (work in progress), October 2018. | |||
| [I-D.ietf-spring-segment-routing-mpls] | ||||
| Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., | ||||
| Litkowski, S., and R. Shakir, "Segment Routing with MPLS | ||||
| data plane", draft-ietf-spring-segment-routing-mpls-14 | ||||
| (work in progress), June 2018. | ||||
| [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., daniel.voyer@bell.ca, d., | |||
| bogdanov@google.com, b., and P. Mattes, "Segment Routing | bogdanov@google.com, b., and P. Mattes, "Segment Routing | |||
| Policy Architecture", draft-ietf-spring-segment-routing- | Policy Architecture", draft-ietf-spring-segment-routing- | |||
| policy-01 (work in progress), June 2018. | policy-02 (work in progress), October 2018. | |||
| [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., | |||
| and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP | |||
| Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, | |||
| <https://www.rfc-editor.org/info/rfc3209>. | <https://www.rfc-editor.org/info/rfc3209>. | |||
| [RFC4657] Ash, J., Ed. and J. Le Roux, Ed., "Path Computation | [RFC4657] Ash, J., Ed. and J. Le Roux, Ed., "Path Computation | |||
| Element (PCE) Communication Protocol Generic | Element (PCE) Communication Protocol Generic | |||
| Requirements", RFC 4657, DOI 10.17487/RFC4657, September | Requirements", RFC 4657, DOI 10.17487/RFC4657, September | |||
| 2006, <https://www.rfc-editor.org/info/rfc4657>. | 2006, <https://www.rfc-editor.org/info/rfc4657>. | |||
| skipping to change at page 30, line 44 ¶ | skipping to change at page 32, line 10 ¶ | |||
| Hardwick, "Path Computation Element Communication Protocol | Hardwick, "Path Computation Element Communication Protocol | |||
| (PCEP) Management Information Base (MIB) Module", | (PCEP) Management Information Base (MIB) Module", | |||
| RFC 7420, DOI 10.17487/RFC7420, December 2014, | RFC 7420, DOI 10.17487/RFC7420, December 2014, | |||
| <https://www.rfc-editor.org/info/rfc7420>. | <https://www.rfc-editor.org/info/rfc7420>. | |||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| [RFC8413] Zhuang, Y., Wu, Q., Chen, H., and A. Farrel, "Framework | ||||
| for Scheduled Use of Resources", RFC 8413, | ||||
| DOI 10.17487/RFC8413, July 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8413>. | ||||
| [RFC8476] Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, | ||||
| "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, | ||||
| DOI 10.17487/RFC8476, December 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8476>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Siva Sivabalan | Siva Sivabalan | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| 2000 Innovation Drive | 2000 Innovation Drive | |||
| Kanata, Ontario K2K 3E8 | Kanata, Ontario K2K 3E8 | |||
| Canada | Canada | |||
| Email: msiva@cisco.com | Email: msiva@cisco.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 | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Apstra, Inc. | Apstra, Inc. | |||
| 444 San Antonio Rd, 10A | 333 Middlefield Rd #200 | |||
| Palo Alto, CA 94306 | Menlo Park, CA 94025 | |||
| USA | USA | |||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| Wim Henderickx | Wim Henderickx | |||
| Nokia | Nokia | |||
| Copernicuslaan 50 | Copernicuslaan 50 | |||
| Antwerp 2018, CA 95134 | Antwerp 2018, CA 95134 | |||
| BELGIUM | BELGIUM | |||
| Email: wim.henderickx@alcatel-lucent.com | Email: wim.henderickx@alcatel-lucent.com | |||
| Jon Hardwick | Jon Hardwick | |||
| Metaswitch Networks | Metaswitch Networks | |||
| End of changes. 108 change blocks. | ||||
| 232 lines changed or deleted | 292 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/ | ||||