--- 1/draft-ietf-idr-bgp-prefix-sid-25.txt 2018-06-21 08:13:33.879091431 -0700 +++ 2/draft-ietf-idr-bgp-prefix-sid-26.txt 2018-06-21 08:13:33.919092381 -0700 @@ -1,38 +1,39 @@ IDR S. Previdi Internet-Draft C. Filsfils Intended status: Standards Track A. Lindem, Ed. -Expires: December 17, 2018 Cisco Systems +Expires: December 23, 2018 Cisco Systems A. Sreekantiah H. Gredler RtBrick Inc. - June 15, 2018 + June 21, 2018 Segment Routing Prefix SID extensions for BGP - draft-ietf-idr-bgp-prefix-sid-25 + draft-ietf-idr-bgp-prefix-sid-26 Abstract - The Segment Routing (SR) architecture allows a node to steer a packet - flow through any topological path and service chain by leveraging - source routing. The ingress node prepends an SR header to a packet + Segment Routing (SR) leverages the source routing paradigm. A node + steers a packet through an ordered list of instructions, called + segments. A segment can represent any instruction, topological or + service-based. The ingress node prepends an SR header to a packet containing a set of segment identifiers (SID). Each SID represents a topological or a service-based instruction. Per-flow state is maintained only on the ingress node of the SR domain. An SR domain is defined as a single administrative domain for global SID assignment. This document defines an optional, transitive BGP attribute for announcing BGP Prefix Segment Identifiers (BGP Prefix-SID) - information the specification for SR-MPLS SIDs. + information and the specification for SR-MPLS SIDs. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Status of This Memo @@ -43,21 +44,21 @@ 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 http://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 December 17, 2018. + This Internet-Draft will expire on December 23, 2018. 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 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -65,42 +66,41 @@ 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 2. MPLS BGP Prefix SID . . . . . . . . . . . . . . . . . . . . . 4 3. BGP Prefix-SID Attribute . . . . . . . . . . . . . . . . . . 5 - 3.1. Label-Index TLV . . . . . . . . . . . . . . . . . . . . . 6 + 3.1. Label-Index TLV . . . . . . . . . . . . . . . . . . . . . 5 3.2. Originator SRGB TLV . . . . . . . . . . . . . . . . . . . 6 4. Receiving BGP Prefix-SID Attribute . . . . . . . . . . . . . 8 4.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 8 5. Advertising BGP Prefix-SID Attribute . . . . . . . . . . . . 9 5.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 10 6. Error Handling of BGP Prefix-SID Attribute . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 8. Manageability Considerations . . . . . . . . . . . . . . . . 12 9. Security Considerations . . . . . . . . . . . . . . . . . . . 13 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 13 - 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 + 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 12.1. Normative References . . . . . . . . . . . . . . . . . . 14 12.2. Informative References . . . . . . . . . . . . . . . . . 15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 1. Introduction The Segment Routing (SR) architecture leverages the source routing - paradigm. A group of inter-connected nodes that use SR forms an SR - domain. A segment represents either a topological instruction such + paradigm. A segment represents either a topological instruction such as "go to prefix P following shortest path" or a service instruction. Other types of segments may be defined in the future. A segment is identified through a Segment Identifier (SID). An SR domain is defined as a single administrative domain for global SID assignment. It may be comprised of a single Autonomous System (AS) or multiple ASes under consolidated global SID administration. Typically, the ingress node of the SR domain prepends an SR header containing segments identifiers (SIDs) to an incoming packet. @@ -110,55 +110,54 @@ [I-D.ietf-spring-segment-routing] also describes how segment routing can be applied to an IPv6 dataplane (SRv6) using an IPv6 routing header containing a stack of SR SIDs encoded as IPv6 addresses [I-D.ietf-6man-segment-routing-header]. The applicability and support for Segment Routing over IPv6 is beyond the scope of this document. A BGP-Prefix Segment is a BGP prefix with a Prefix-SID attached. A BGP Prefix-SID is always a global SID - ([I-D.ietf-spring-segment-routing]) within the SR domain (i.e., the - set of Autonomous Systems under a common administration and control - and where SR is used) and identifies an instruction to forward the - packet over the Equal-Cost Multi-Path (ECMP) best-path computed by - BGP to the related prefix. The BGP Prefix-SID is the identifier of - the BGP prefix segment. In this document, we always refer to the BGP - segment by the BGP Prefix-SID. + ([I-D.ietf-spring-segment-routing]) within the SR domain and + identifies an instruction to forward the packet over the Equal-Cost + Multi-Path (ECMP) best-path computed by BGP to the related prefix. + The BGP Prefix-SID is the identifier of the BGP prefix segment. In + this document, we always refer to the BGP-Prefix segment by the BGP + Prefix-SID. This document describes the BGP extension to signal the BGP Prefix- SID. Specifically, this document defines a BGP attribute known as the BGP Prefix-SID attribute and specifies the rules to originate, receive, and handle error conditions for the attribute. The BGP Prefix-SID attribute defined in this document can be attached to prefixes from Multiprotocol BGP IPv4/IPv6 Labeled Unicast ([RFC4760], [RFC8277]). Usage of the BGP Prefix-SID attribute for other Address Family Identifier (AFI)/ Subsequent Address Family Identifier (SAFI) combinations is not defined herein but may be specified in future specifications. [I-D.ietf-spring-segment-routing-msdc] describes example use cases where the BGP Prefix-SID is used for the above AFI/SAFI combinations. It should be noted that: - o A BGP Prefix-SID MAY be global across ASes when the interconnected - ASes agree on the SID allocation scheme. Alternatively, when - interconnecting ASes, the ASBRs of each domain will have to handle - the advertisement of unique SIDs. The mechanisms for such - interconnection are outside the scope of the protocol extensions - defined in this document. + o A BGP Prefix-SID will be global across ASes when the + interconnected ASes are part of the same SR domain. + Alternatively, when interconnecting ASes, the ASBRs of each domain + will have to handle the advertisement of unique SIDs. The + mechanisms for such interconnection are outside the scope of the + protocol extensions defined in this document. - o A BGP Prefix-SID MAY be attached to a prefix. This implies that - each prefix is advertised individually, reducing the ability to - pack BGP advertisements (when sharing common attributes). + o A BGP Prefix-SID MAY be attached to a BGP prefix. This implies + that each prefix is advertised individually, reducing the ability + to pack BGP advertisements (when sharing common attributes). 2. MPLS BGP Prefix SID The BGP Prefix-SID is realized on the MPLS dataplane ([I-D.ietf-spring-segment-routing-mpls]) in the following way: The operator assigns a globally unique label index, L_I, to a locally originated prefix of a BGP speaker N which is advertised to all other BGP speakers in the SR domain. @@ -193,24 +193,25 @@ without the topology nor the peer SIDs, hence without applicability for TE, the Originator SRGB TLV of the BGP Prefix- SID attribute is specified in Section 3.2 of this document. A BGP speaker will derive its local MPLS label L from the label index L_I and its local SRGB as described in [I-D.ietf-spring-segment-routing-mpls]. The BGP speaker then programs the MPLS label L in its MPLS dataplane as its incoming/ local label for the prefix. See Section 4.1 for more details. - The outgoing label for the prefix is found in the NLRI of the - Multiprotocol BGP IPv4/IPv6 Labeled Unicast prefix advertisement - as defined in [RFC8277]. The label index L_I is only used as a - hint to derive the local/incoming label. + The outgoing label for the prefix is found in the Network Layer + Reachability Information (NLRI) of the Multiprotocol BGP IPv4/IPv6 + Labeled Unicast prefix advertisement as defined in [RFC8277]. The + label index L_I is only used as a hint to derive the local/ + incoming label. Section 3.1 of this document specifies the Label-Index TLV of the BGP Prefix-SID attribute; this TLV can be used to advertise the label index for a given prefix. 3. BGP Prefix-SID Attribute The BGP Prefix-SID attribute is an optional, transitive BGP path attribute. The attribute type code 40 has been assigned by IANA (see Section 7). @@ -310,26 +311,26 @@ prefix to which the BGP Prefix-SID is attached. The Originator SRGB TLV MUST NOT be changed during the propagation of the BGP update. It is used to build segment routing policies when different SRGBs are used in the fabric, for example ([I-D.ietf-spring-segment-routing-msdc]). Examples of how the receiving routers concatenate the ranges and build their neighbor's Segment Routing Global Block (SRGB) are included in [I-D.ietf-spring-segment-routing-mpls]). - The originator SRGB may only appear in a BGP Prefix-SID attribute + The Originator SRGB TLV may only appear in a BGP Prefix-SID attribute attached to IPv4/IPv6 Labeled Unicast prefixes ([RFC8277]). It MUST be ignored when received for other BGP AFI/SAFI combinations. Since the Label-Index TLV is required for IPv4/IPv6 prefix applicability, - the originator SRGB will be ignored if it is not specified consistent - with Section 6. + the Originator SRGB TLV will be ignored if it is not specified + consistent with Section 6. 4. Receiving BGP Prefix-SID Attribute A BGP speaker receiving a BGP Prefix-SID attribute from an External BGP (EBGP) neighbor residing outside the boundaries of the SR domain MUST discard the attribute unless it is configured to accept the attribute from the EBGP neighbor. A BGP speaker SHOULD log an error for further analysis when discarding an attribute. 4.1. MPLS Dataplane: Labeled Unicast @@ -477,42 +478,48 @@ For future extensibility, unknown TLVs MUST be ignored and propagated unmodified. 7. IANA Considerations This document defines a BGP path attribute known as the BGP Prefix- SID attribute. This document requests IANA to assign an attribute code type (suggested value: 40) to the BGP Prefix-SID attribute from the BGP Path Attributes registry. - Currently, IANA temporarily assigned the following: + IANA temporarily assigned the following: 40 BGP Prefix-SID (TEMPORARY - registered 2015-09-30, expires - 2016-09-30) [draft-ietf-idr-bgp-prefix-sid] + 2018-09-30) [draft-ietf-idr-bgp-prefix-sid] - This document defines 3 TLVs for the BGP Prefix-SID attribute. These - TLVs need to be registered with IANA. We request IANA to create a - registry for BGP Prefix-SID Attribute TLVs as follows: + This document defines two TLVs for the BGP Prefix-SID attribute. + These TLVs need to be registered with IANA. We request IANA to + create a registry for BGP Prefix-SID Attribute TLVs as follows: Under "Border Gateway Protocol (BGP) Parameters" registry, "BGP Prefix-SID TLV Types" Reference: draft-ietf-idr-bgp-prefix-sid Registration Procedure(s): Values 1-254 - Expert Review as defined in [RFC8126], Value 0 and 255 reserved Value Type Reference 0 Reserved this document 1 Label-Index this document 2 Deprecated this document 3 Originator SRGB this document 4-254 Unassigned 255 Reserved this document + The value 2 previously corresponded to the IPv6 SID TLV which was + specified in previous versions of this document. It was removed and + usage of the BGP Prefix-SID for Segment Routing over the IPv6 + dataplane [I-D.ietf-spring-segment-routing] has been deferred to + future specifications. + This document also requests creation of the "BGP Prefix-SID Label- Index TLV Flags" registry under the "Border Gateway Protocol (BGP) Parameters" registry, Reference: draft-ietf-idr-bgp-prefix-sid. Initially, this 16-bit flags registry will be empty. The registration policy for flag bits will Expert Review [RFC8126] consistent with the BGP Prefix-SID TLV Types registry. Finally, this document requests creation of the "BGP Prefix-SID Originator SRGB TLV Flags" registry under the "Border Gateway Protocol (BGP) Parameters" registry, Reference: draft-ietf-idr-bgp- @@ -613,22 +620,22 @@ The authors would like to thank Robert Raszuk for comments and suggestions regarding the MPLS data plane behavior. The authors would like to thank Krishna Deevi, Juan Alcaide, Howard Yang, and Jakob Heitz for discussions on conflicting BGP Prefix-SID label indices and BGP add paths. The authors would like to thank Peter Yee, Tony Przygienda, Mirja Kuehlewind, Alexey Melnikov, Eric Rescorla, Suresh Krishnan, Warren - Kumari, Ben Campbell and Sue Hares for IDR Working Group last call, - IETF Last Call, directorate, and IESG reviews. + Kumari, Ben Campbell Sue Hares, and Martin Vigoureux for IDR Working + Group last call, IETF Last Call, directorate, and IESG reviews. 12. References 12.1. Normative References [I-D.ietf-spring-segment-routing] Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", draft-ietf-spring-segment-routing-15 (work in progress), January 2018.