--- 1/draft-ietf-idr-bgp-prefix-sid-09.txt 2018-01-16 17:13:08.198985712 -0800 +++ 2/draft-ietf-idr-bgp-prefix-sid-10.txt 2018-01-16 17:13:08.218985963 -0800 @@ -1,23 +1,23 @@ IDR S. Previdi, Ed. Internet-Draft C. Filsfils Intended status: Standards Track A. Lindem -Expires: July 9, 2018 Cisco Systems +Expires: July 20, 2018 Cisco Systems A. Sreekantiah H. Gredler RtBrick Inc. - January 5, 2018 + January 16, 2018 Segment Routing Prefix SID extensions for BGP - draft-ietf-idr-bgp-prefix-sid-09 + draft-ietf-idr-bgp-prefix-sid-10 Abstract 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 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. @@ -41,21 +41,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 July 9, 2018. + This Internet-Draft will expire on July 20, 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 @@ -76,28 +76,28 @@ 3.2. IPv6 SID . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3. Originator SRGB TLV . . . . . . . . . . . . . . . . . . . 7 4. Receiving BGP Prefix-SID Attribute . . . . . . . . . . . . . 9 4.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 9 4.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 10 5. Advertising BGP Prefix-SID Attribute . . . . . . . . . . . . 10 5.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 11 5.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 11 6. Error Handling of BGP Prefix-SID Attribute . . . . . . . . . 11 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 - 8. Manageability Considerations . . . . . . . . . . . . . . . . 12 + 8. Manageability Considerations . . . . . . . . . . . . . . . . 13 9. Security Considerations . . . . . . . . . . . . . . . . . . . 13 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 13 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 12.1. Normative References . . . . . . . . . . . . . . . . . . 14 12.2. Informative References . . . . . . . . . . . . . . . . . 15 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 1. Introduction 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 as "go to prefix P following shortest path" or a service instruction (e.g.: "pass through deep packet inspection"). Other types of segments may be defined in the future. @@ -224,34 +224,38 @@ When SR is used over an IPv6 dataplane, the BGP Prefix-SID consists of an IPv6 address assigned to the BGP speaker. 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). The BGP Prefix-SID attribute is defined here to be a set of elements - encoded as "Type/Length/Value" tuples (i.e., a set of TLVs). The - following TLVs are defined: + encoded as "Type/Length/Value" tuples (i.e., a set of TLVs). All BGP + Prefix-SID attribute TLVs will start with a 1-octet type and a + 2-octet length. The following TLVs are defined in this document: o Label-Index TLV o IPv6 SID TLV o Originator SRGB TLV The Label-Index and Originator SRGB TLVs are used only when SR is applied to the MPLS dataplane. The IPv6 SID TLV is used only when SR is applied to the IPv6 dataplane. + For future extendibility, unknown TLVs are ignored and propagated + unmodified. + 3.1. Label-Index TLV The Label-Index TLV MUST be present in the BGP Prefix-SID attribute attached to Labeled IPv4/IPv6 unicast prefixes ([RFC8277]). It will be ignored when received for other BGP AFI/SAFI combinations. The Label-Index TLV has the 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ @@ -432,21 +436,25 @@ which local/incoming label the BGP speaker SHOULD assign. 4.2. IPv6 Dataplane When an SR IPv6 BGP speaker receives an IPv6 Unicast BGP Update with a prefix having the BGP Prefix-SID attribute attached, it checks whether the IPv6 SID TLV is present. If present and the chosen as the best path, the prefix is installed into the Segment Routing IPv6 dataplane as described in [I-D.ietf-spring-segment-routing]. - The Originator SRGB MUST be ignored on reception. + The Label-Index and Originator SRGB TLVs MUST be ignored on + reception. For future extendibility, no TLVs are required for the + BGP IPv6 unicast address family. However, a BGP Prefix-SID attribute + corresponding to the BGP IPv6 address family without an IPv6 SID TLV + will be ignored. 5. Advertising BGP Prefix-SID Attribute The BGP Prefix-SID attribute MAY be attached to labeled BGP prefixes (IPv4/IPv6) [RFC8277] or to IPv6 unicast prefixes [RFC4760]. In order to prevent distribution of the BGP Prefix-SID attribute beyond its intended scope of applicability, attribute filtering SHOULD be deployed. A BGP speaker that advertises a path received from one of its @@ -501,21 +509,27 @@ unlabeled IPv6 unicast prefix [RFC4760], it MUST treat the advertisement as a withdrawal. This is equivalent to the "Treat-as- withdraw" action specified in [RFC7606]. This action is required since simply ignoring the BGP Prefix-SID attribute would modify the installed path and the "Attribute discard" option is not applicable in this case [RFC7606]. When withdrawing the prefix, a BGP speaker SHOULD log an error for further analysis. Consistent with [RFC7606], only the first occurrence of the BGP Prefix-SID attribute will be considered and subsequent occurrences - will be discarded. + will be discarded. Similarily, only the first occurrence of a BGP + Prefix-SID attribute TLV of a given TLV type will be considered + unless the specification of that TLV type allows for multiple + occurrences. + + For future extendibility, unknown TLVs should 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) the BGP Prefix-SID attribute from the BGP Path Attributes registry. Currently, IANA temporarily assigned the following: @@ -603,20 +617,23 @@ Email: raysaikat@gmail.com 11. Acknowledgements The authors would like to thank Satya Mohanty for his contribution to this document. The authors would like to thank Alvaro Retana for substantive comments as part of the Routing AD review. + The authors would like to thank Shyam Sethuram for comments and + discussion of TLV processing and validation. + 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-14 (work in progress), December 2017.