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

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/