--- 1/draft-ietf-ospf-ospfv3-segment-routing-extensions-20.txt 2018-12-14 03:13:25.132749547 -0800 +++ 2/draft-ietf-ospf-ospfv3-segment-routing-extensions-21.txt 2018-12-14 03:13:25.172750503 -0800 @@ -1,153 +1,154 @@ Open Shortest Path First IGP P. Psenak, Ed. Internet-Draft Cisco Systems, Inc. Intended status: Standards Track S. Previdi, Ed. -Expires: June 6, 2019 Individual - December 3, 2018 +Expires: June 17, 2019 Individual + December 14, 2018 OSPFv3 Extensions for Segment Routing - draft-ietf-ospf-ospfv3-segment-routing-extensions-20 + draft-ietf-ospf-ospfv3-segment-routing-extensions-21 Abstract Segment Routing (SR) allows a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological sub-paths, called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPF). This draft describes the OSPFv3 extensions required for Segment Routing with MPLS data plane. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in [RFC2119]. + "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on June 6, 2019. + This Internet-Draft will expire on June 17, 2019. Copyright Notice Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Segment Routing Identifiers . . . . . . . . . . . . . . . . . 4 3.1. SID/Label Sub-TLV . . . . . . . . . . . . . . . . . . . . 4 - 4. Segment Routing Capabilities . . . . . . . . . . . . . . . . 4 + 4. Segment Routing Capabilities . . . . . . . . . . . . . . . . 5 5. OSPFv3 Extended Prefix Range TLV . . . . . . . . . . . . . . 5 6. Prefix SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 7 - 7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 10 + 7. Adjacency Segment Identifier (Adj-SID) . . . . . . . . . . . 11 7.1. Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . . . 11 - 7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 12 - 8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 13 - 8.1. Intra-area Segment routing in OSPFv3 . . . . . . . . . . 13 - 8.2. Inter-area Segment routing in OSPFv3 . . . . . . . . . . 14 - 8.3. Segment Routing for External Prefixes . . . . . . . . . . 15 + 7.2. LAN Adj-SID Sub-TLV . . . . . . . . . . . . . . . . . . . 13 + 8. Elements of Procedure . . . . . . . . . . . . . . . . . . . . 14 + 8.1. Intra-area Segment routing in OSPFv3 . . . . . . . . . . 14 + 8.2. Inter-area Segment routing in OSPFv3 . . . . . . . . . . 15 + 8.3. Segment Routing for External Prefixes . . . . . . . . . . 16 8.4. Advertisement of Adj-SID . . . . . . . . . . . . . . . . 16 8.4.1. Advertisement of Adj-SID on Point-to-Point Links . . 16 8.4.2. Adjacency SID on Broadcast or NBMA Interfaces . . . . 16 - 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 - 9.1. OSPFv3 Extended-LSA TLV Registry . . . . . . . . . . . . 16 - 9.2. OSPFv3 Extended-LSA Sub-TLV registry . . . . . . . . . . 16 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 + 9.1. OSPFv3 Extended-LSA TLV Registry . . . . . . . . . . . . 17 + 9.2. OSPFv3 Extended-LSA Sub-TLV registry . . . . . . . . . . 17 10. Security Considerations . . . . . . . . . . . . . . . . . . . 17 - 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 - 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 - 12.1. Normative References . . . . . . . . . . . . . . . . . . 18 + 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 18 + 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 + 12.1. Normative References . . . . . . . . . . . . . . . . . . 19 12.2. Informative References . . . . . . . . . . . . . . . . . 20 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 1. Introduction Segment Routing (SR) allows a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological sub-paths, called "segments". These segments are advertised by the link-state routing protocols (IS-IS and OSPF). Prefix segments represent an ECMP-aware shortest-path to a prefix (or a node), as per the state of the IGP topology. Adjacency segments represent a hop over a specific adjacency between two nodes in the IGP. A prefix segment is typically a multi-hop path while an adjacency segment, in most cases, is a one-hop path. SR's control-plane can be applied to both IPv6 and MPLS data-planes, and does not require any additional signalling (other than IGP extensions). The IPv6 data plane is out of the scope of this specification - OSPFv3 extension for SR with IPv6 data plane will be specified in a separate document. When used in MPLS networks, SR paths do not require any LDP or RSVP-TE signalling. However, SR can interoperate in the presence of LSPs established with RSVP or LDP. - There are additional segment types, e.g., Binding SID defined in - [RFC8402]. - This draft describes the OSPFv3 extensions required for Segment Routing with MPLS data plane. Segment Routing architecture is described in [RFC8402]. Segment Routing use cases are described in [RFC7855]. 2. Terminology This section lists some of the terminology used in this document: ABR - Area Border Router Adj-SID - Adjacency Segment Identifier AS - Autonomous System ASBR - Autonomous System Boundary Router + DR - Designated Router + IS-IS - Intermediate System to Intermediate System LDP - Label Distribution Protocol LSP - Label Switched Path MPLS - Multi Protocol Label Switching - OSPF - Open Shortest Path First SPF - Shortest Path First RSVP - Resource Reservation Protocol SID - Segment Identifier + SR - Segment Routing SRGB - Segment Routing Global Block SRLB - Segment Routing Local Block SRMS - Segment Routing Mapping Server TLV - Type Length Value @@ -147,21 +148,21 @@ SRLB - Segment Routing Local Block SRMS - Segment Routing Mapping Server TLV - Type Length Value 3. Segment Routing Identifiers Segment Routing defines various types of Segment Identifiers (SIDs): - Prefix-SID, Adjacency-SID, LAN Adjacency SID, and Binding SID. + Prefix-SID, Adjacency-SID, and LAN Adjacency SID. 3.1. SID/Label Sub-TLV The SID/Label Sub-TLV appears in multiple TLVs or Sub-TLVs defined later in this document. It is used to advertise the SID or label associated with a prefix or adjacency. The SID/Label Sub-TLV has following format: 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 @@ -271,20 +273,25 @@ a prefix of length 0. For the address family IPv6 unicast, the prefix, encoded as an even multiple of 32-bit words, padded with zeroed bits as necessary. This encoding consumes ((PrefixLength + 31) / 32) 32-bit words. Prefix encoding for other address families is beyond the scope of this specification. + The range represents the contiguous set of prefixes with the same + prefix length as specified by the Prefix Length field. The set + starts with the prefix that is specified by the Address Prefix field. + The number of prefixes in the range is equal to the Range size. + If the OSPFv3 Extended Prefix Range TLVs advertising the exact same range appears in multiple LSAs of the same type, originated by the same OSPFv3 router, the LSA with the numerically smallest Instance ID MUST be used and subsequent instances of the OSPFv3 Extended Prefix Range TLVs MUST be ignored. 6. Prefix SID Sub-TLV The Prefix SID Sub-TLV is a Sub-TLV of the following OSPFv3 TLVs as defined in [RFC8362] and in Section 5: @@ -383,44 +390,43 @@ for the prefix. This MUST be done regardless of whether the next-hop router contributes to the best path to the prefix. The NP-Flag (No-PHP) MUST be set and the E-flag MUST be clear for Prefix-SIDs allocated to prefixes that are propagated between areas by an ABR based on intra-area or inter-area reachability, unless the advertised prefix is directly attached to such ABR. The NP-Flag (No-PHP) MUST be set and the E-flag MUST be clear for Prefix-SIDs allocated to redistributed prefixes, unless the - redistributed prefix is directly attached to the advertising - Autonomous System Boundary Router (ASBR). + redistributed prefix is directly attached to the advertising ASBR. If the NP-Flag is not set, then any upstream neighbor of the Prefix- SID originator MUST pop the Prefix-SID. This is equivalent to the penultimate hop popping mechanism used in the MPLS dataplane. If the NP-flag is not set, then the received E-flag is ignored. If the NP-flag is set then: If the E-flag is not set, then any upstream neighbor of the Prefix-SID originator MUST keep the Prefix-SID on top of the stack. This is useful when the originator of the Prefix-SID needs to stitch the incoming packet into a continuing MPLS LSP to the - final destination. This could occur at an Area Border Router - (prefix propagation from one area to another) or at an AS Boundary - Router (prefix propagation from one domain to another). + final destination. This could occur at an ABR (prefix propagation + from one area to another) or at an ASBR (prefix propagation from + one domain to another). If the E-flag is set, then any upstream neighbor of the Prefix-SID originator MUST replace the Prefix-SID with an Explicit-NULL label. This is useful, e.g., when the originator of the Prefix- SID is the final destination for the related prefix and the - originator wishes to receive the packet with the original EXP - bits. + originator wishes to receive the packet with the original Traffic + Class field [RFC5462]. When the M-Flag is set, the NP-flag and the E-flag MUST be ignored on reception. As the Mapping Server does not specify the originator of a prefix advertisement, it is not possible to determine PHP behavior solely based on the Mapping Server advertisement. However, PHP behavior SHOULD be done in following cases: The Prefix is intra-area type and the downstream neighbor is the @@ -580,22 +586,22 @@ weight is defined in [RFC8402]. Reserved: SHOULD be set to 0 on transmission and MUST be ignored on reception. Neighbor ID: The Router ID of the neighbor for which the LAN-Adj- SID is advertised. SID/Index/Label: as described in Section 6. - When the P-flag is not set, the Adj-SID MAY be persistent. When - the P-flag is set, the Adj-SID MUST be persistent. + When the P-flag is not set, the LAN Adj-SID MAY be persistent. + When the P-flag is set, the LAN Adj-SID MUST be persistent. 8. Elements of Procedure 8.1. Intra-area Segment routing in OSPFv3 An OSPFv3 router that supports segment routing MAY advertise Prefix- SIDs for any prefix to which it is advertising reachability (e.g., a loopback IP address as described in Section 6). A Prefix-SID can also be advertised by SR Mapping Servers (as @@ -613,34 +619,34 @@ External-LSA [RFC8362] is used. When a Prefix-SID is advertised by the Mapping Server, which is indicated by the M-flag in the Prefix-SID Sub-TLV (Section 6), the route type as implied by the LSA type is ignored and the Prefix-SID is bound to the corresponding prefix independent of the route type. Advertisement of the Prefix-SID by the Mapping Server using an Inter- Area Prefix TLV, External-Prefix TLV, or Intra-Area-Prefix TLV [RFC8362] does not itself contribute to the prefix reachability. The - NU-bit MUST be set in the PrefixOptions field of the LSA which is - used by the Mapping Server to advertise SID or SID Range, which - prevents the advertisement from contributing to prefix reachability. + NU-bit [RFC5340] MUST be set in the PrefixOptions field of the LSA + which is used by the Mapping Server to advertise SID or SID Range, + which prevents the advertisement from contributing to prefix + reachability. An SR Mapping Server MUST use the OSPFv3 Extended Prefix Range TLVs when advertising SIDs for prefixes. Prefixes of different route- types can be combined in a single OSPFv3 Extended Prefix Range TLV advertised by an SR Mapping Server. Area-scoped OSPFv3 Extended Prefix Range TLVs are propagated between - areas. Similar to propagation of prefixes between areas, an ABR only - propagates the OSPFv3 Extended Prefix Range TLV that it considers to - be the best from the set it received. The rules used to pick the - best OSPFv3 Extended Prefix Range TLV are described in Section 5. + areas, similar to propagation of prefixes between areas. Same rules + that are used for propagating prefixes between areas [RFC5340] are + used for the propagation of the prefix ranges. 8.2. Inter-area Segment routing in OSPFv3 In order to support SR in a multi-area environment, OSPFv3 MUST propagate Prefix-SID information between areas. The following procedure is used to propagate Prefix SIDs between areas. When an OSPFv3 ABR advertises an Inter-Area-Prefix-LSA from an intra- area prefix to all its connected areas, it will also include the Prefix-SID Sub-TLV, as described in Section 6. The Prefix-SID value @@ -705,27 +711,27 @@ An Adj-SID MAY be advertised for any adjacency on a P2P link that is in neighbor state 2-Way or higher. If the adjacency on a P2P link transitions from the FULL state, then the Adj-SID for that adjacency MAY be removed from the area. If the adjacency transitions to a state lower than 2-Way, then the Adj-SID advertisement MUST be withdrawn from the area. 8.4.2. Adjacency SID on Broadcast or NBMA Interfaces Broadcast, NBMA, or hybrid [RFC6845] networks in OSPFv3 are - represented by a star topology where the Designated Router (DR) is - the central point to which all other routers on the broadcast, NBMA, - or hybrid network connect. As a result, routers on the broadcast, - NBMA, or hybrid network advertise only their adjacency to the DR. - Routers that do not act as DR do not form or advertise adjacencies - with each other. They do, however, maintain 2-Way adjacency state - with each other and are directly reachable. + represented by a star topology where the DR is the central point to + which all other routers on the broadcast, NBMA, or hybrid network + connect. As a result, routers on the broadcast, NBMA, or hybrid + network advertise only their adjacency to the DR. Routers that do + not act as DR do not form or advertise adjacencies with each other. + They do, however, maintain 2-Way adjacency state with each other and + are directly reachable. When Segment Routing is used, each router on the broadcast, NBMA, or hybrid network MAY advertise the Adj-SID for its adjacency to the DR using the Adj-SID Sub-TLV as described in Section 7.1. SR-capable routers MAY also advertise a LAN-Adj-SID for other neighbors (e.g., BDR, DR-OTHER) on the broadcast, NBMA, or hybrid network using the LAN-Adj-SID Sub-TLV as described in Section 7.2. 9. IANA Considerations @@ -824,33 +831,33 @@ 12.1. Normative References [ALGOREG] "IGP Algorithm Types", . [I-D.ietf-ospf-segment-routing-extensions] Psenak, P., Previdi, S., Filsfils, C., Gredler, H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF Extensions for Segment Routing", draft-ietf-ospf-segment- - routing-extensions-26 (work in progress), November 2018. + routing-extensions-27 (work in progress), December 2018. [I-D.ietf-spring-segment-routing-ldp-interop] Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., and S. Litkowski, "Segment Routing interworking with LDP", draft-ietf-spring-segment-routing-ldp-interop-15 (work in progress), September 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-16 - (work in progress), November 2018. + 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 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, DOI 10.17487/RFC3031, January 2001, . @@ -860,30 +867,39 @@ . [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., "LDP Specification", RFC 5036, DOI 10.17487/RFC5036, October 2007, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . + [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching + (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic + Class" Field", RFC 5462, DOI 10.17487/RFC5462, February + 2009, . + [RFC6845] Sheth, N., Wang, L., and J. Zhang, "OSPF Hybrid Broadcast and Point-to-Multipoint Interface Type", RFC 6845, DOI 10.17487/RFC6845, January 2013, . [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, February 2016, . + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, . + [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 2018, . [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018, .