draft-ietf-idr-bgp-prefix-sid-08.txt | draft-ietf-idr-bgp-prefix-sid-09.txt | |||
---|---|---|---|---|
IDR S. Previdi, Ed. | IDR S. Previdi, Ed. | |||
Internet-Draft C. Filsfils | Internet-Draft C. Filsfils | |||
Intended status: Standards Track A. Lindem | Intended status: Standards Track A. Lindem | |||
Expires: July 6, 2018 Cisco Systems | Expires: July 9, 2018 Cisco Systems | |||
A. Sreekantiah | A. Sreekantiah | |||
H. Gredler | H. Gredler | |||
RtBrick Inc. | RtBrick Inc. | |||
January 2, 2018 | January 5, 2018 | |||
Segment Routing Prefix SID extensions for BGP | Segment Routing Prefix SID extensions for BGP | |||
draft-ietf-idr-bgp-prefix-sid-08 | draft-ietf-idr-bgp-prefix-sid-09 | |||
Abstract | Abstract | |||
Segment Routing (SR) architecture allows a node to steer a packet | Segment Routing (SR) architecture allows a node to steer a packet | |||
flow through any topological path and service chain by leveraging | flow through any topological path and service chain by leveraging | |||
source routing. The ingress node prepends a SR header to a packet | source routing. 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. | maintained only on the ingress node of the SR domain. | |||
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. | information. | |||
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", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
document are to be interpreted as described in RFC 2119 [RFC2119] | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
only when they appear in all upper case. They may also appear in | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
lower or mixed case as English words, without any normative meaning. | capitals, as shown here. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
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 July 6, 2018. | This Internet-Draft will expire on July 9, 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 30 ¶ | skipping to change at page 2, line 30 ¶ | |||
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. BGP-Prefix-SID . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. BGP-Prefix-SID . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.1. MPLS BGP Prefix SID . . . . . . . . . . . . . . . . . . . 4 | 2.1. MPLS BGP Prefix SID . . . . . . . . . . . . . . . . . . . 4 | |||
2.2. IPv6 Prefix Segment . . . . . . . . . . . . . . . . . . . 5 | 2.2. IPv6 Prefix Segment . . . . . . . . . . . . . . . . . . . 5 | |||
3. BGP-Prefix-SID Attribute . . . . . . . . . . . . . . . . . . 5 | 3. BGP Prefix-SID Attribute . . . . . . . . . . . . . . . . . . 5 | |||
3.1. Label-Index TLV . . . . . . . . . . . . . . . . . . . . . 6 | 3.1. Label-Index TLV . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.2. IPv6 SID . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.2. IPv6 SID . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.3. Originator SRGB TLV . . . . . . . . . . . . . . . . . . . 7 | 3.3. Originator SRGB TLV . . . . . . . . . . . . . . . . . . . 7 | |||
4. Receiving BGP-Prefix-SID Attribute . . . . . . . . . . . . . 9 | 4. Receiving BGP Prefix-SID Attribute . . . . . . . . . . . . . 9 | |||
4.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 9 | 4.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 9 | |||
4.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 10 | 4.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 10 | |||
5. Announcing BGP-Prefix-SID Attribute . . . . . . . . . . . . . 10 | 5. Advertising BGP Prefix-SID Attribute . . . . . . . . . . . . 10 | |||
5.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 10 | 5.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 11 | |||
5.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 11 | 5.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 11 | |||
6. Error Handling of BGP-Prefix-SID Attribute . . . . . . . . . 11 | 6. Error Handling of BGP Prefix-SID Attribute . . . . . . . . . 11 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
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 . . . . . . . . . . . . . . . . . 14 | 12.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
1. Introduction | 1. Introduction | |||
Segment Routing (SR) architecture leverages the source routing | Segment Routing (SR) architecture leverages the source routing | |||
paradigm. A group of inter-connected nodes that use SR forms a SR | paradigm. A group of inter-connected nodes that use SR forms an SR | |||
domain. 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 | |||
(e.g.: "pass through deep packet inspection"). Other types of | (e.g.: "pass through deep packet inspection"). Other types of | |||
segments may be defined in the future. | segments may be defined in the future. | |||
A segment is identified through a Segment Identifier (SID). | A segment is identified through a Segment Identifier (SID). | |||
Typically, the ingress node of the SR domain prepends a 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. | |||
As described in [I-D.ietf-spring-segment-routing], when SR is applied | As described in [I-D.ietf-spring-segment-routing], when SR is applied | |||
to the MPLS dataplane ([I-D.ietf-spring-segment-routing-mpls]) the | to the MPLS dataplane ([I-D.ietf-spring-segment-routing-mpls]) the | |||
SID consists of a label while when SR is applied to the IPv6 | SID consists of a label while when SR is applied to the IPv6 | |||
dataplane the SID consists of an IPv6 address. | dataplane the SID consists of an IPv6 address. | |||
A BGP-Prefix Segment (and its BGP Prefix-SID), is a BGP segment | A BGP-Prefix Segment (and its BGP Prefix-SID), is a BGP segment | |||
attached to a BGP prefix. A BGP Prefix-SID is always a global SID | attached to a BGP prefix. A BGP Prefix-SID is always a global SID | |||
([I-D.ietf-spring-segment-routing]) within the SR/BGP domain (i.e., | ([I-D.ietf-spring-segment-routing]) within the SR/BGP domain (i.e., | |||
skipping to change at page 3, line 39 ¶ | skipping to change at page 3, line 39 ¶ | |||
the related prefix. The BGP Prefix-SID is the identifier of the BGP | 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 | prefix segment. In this document, we always refer to the BGP Segment | |||
by the BGP Prefix-SID. | 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 AFI/SAFI: | to prefixes from AFI/SAFI combinations: | |||
Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC8277]). | Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC8277]). | |||
Multiprotocol BGP ([RFC4760]) unlabeled IPv6 Unicast. | Multiprotocol BGP ([RFC4760]) unlabeled IPv6 Unicast. | |||
[I-D.ietf-spring-segment-routing-msdc] describes example use cases | [I-D.ietf-spring-segment-routing-msdc] describes example use cases | |||
where the Prefix-SID is used for the above AFI/SAFI. | 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 between domains when the | o A BGP Prefix-SID MAY be global between domains when the | |||
interconnected domains agree on the SID allocation scheme. | interconnected domains agree on the SID allocation scheme. | |||
Alternatively, when interconnecting domains, the ASBRs of each | Alternatively, when interconnecting domains, the ASBRs of each | |||
domain will have to handle the advertisement of unique SIDs. The | domain will have to handle the advertisement of unique SIDs. The | |||
mechanisms for such interconnection are outside the scope of the | mechanisms for such interconnection are outside the scope of the | |||
protocol extensions defined in this document. | protocol extensions defined in this document. | |||
skipping to change at page 4, line 25 ¶ | skipping to change at page 4, line 25 ¶ | |||
The BGP Prefix-SID attached to a BGP prefix P represents the | The BGP Prefix-SID attached to a BGP prefix P represents the | |||
instruction "go to Prefix P" along its BGP best path (potentially | instruction "go to Prefix P" along its BGP best path (potentially | |||
ECMP-enabled). | ECMP-enabled). | |||
2.1. MPLS BGP Prefix SID | 2.1. 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 "index", L_I, to a locally | The operator assigns a globally unique label index, L_I, to a | |||
sourced prefix of a BGP speaker N which is advertised to all other | locally sourced prefix of a BGP speaker N which is advertised to | |||
BGP speakers in the SR domain. | all other BGP speakers in the SR domain. | |||
According to [I-D.ietf-spring-segment-routing], each BGP speaker | According to [I-D.ietf-spring-segment-routing], each BGP speaker | |||
is configured with a label block called the Segment Routing Global | is configured with a label block called the Segment Routing Global | |||
Block (SRGB). While [I-D.ietf-spring-segment-routing] recommends | Block (SRGB). While [I-D.ietf-spring-segment-routing] recommends | |||
to use the same SRGB across all the nodes within the SR domain, | to use the same SRGB across all the nodes within the SR domain, | |||
the SRGB of a node is a local property and could be different on | the SRGB of a node is a local property and could be different on | |||
different speakers. The drawbacks of the use case where BGP | different speakers. The drawbacks of the use case where BGP | |||
speakers have different SRGBs are documented in | speakers have different SRGBs are documented in | |||
[I-D.ietf-spring-segment-routing] and | [I-D.ietf-spring-segment-routing] and | |||
[I-D.ietf-spring-segment-routing-msdc]. | [I-D.ietf-spring-segment-routing-msdc]. | |||
If traffic-engineering within the SR domain is required, each node | If traffic-engineering within the SR domain is required, each node | |||
may also be required to advertise topological information and | may also be required to advertise topological information and | |||
Peering SID's for each of its links and peers. This information | Peering SIDs for each of its links and peers. This information is | |||
is required to perform the explicit path computation and to | required to perform the explicit path computation and to express | |||
express any explicit path into a list of SIDs. The advertisement | an explicit path as a list of SIDs. The advertisement of | |||
of topological information and Peer segments (Peer SIDs) is | topological information and Peer segments (Peer SIDs) is done | |||
assumed to be done through | through [I-D.ietf-idr-bgpls-segment-routing-epe]. | |||
[I-D.ietf-idr-bgpls-segment-routing-epe]. | ||||
If the BGP speakers are not all configured with the same SRGB, and | If the BGP speakers are not all configured with the same SRGB, and | |||
if traffic-engineering within the SR domain is required, each node | if traffic-engineering within the SR domain is required, each node | |||
may be required to advertise its local SRGB in addition to the | may be required to advertise its local SRGB in addition to the | |||
topological information. | topological information. | |||
This documents assumes that BGP-LS is the preferred method for | This documents assumes that BGP-LS is the preferred method for | |||
collecting both topological, peer segments (Peer SIDs) and SRGB | collecting both peer segments (Peer SIDs) and SRGB information | |||
information through [RFC7752], | through [RFC7752], [I-D.ietf-idr-bgpls-segment-routing-epe], and | |||
[I-D.ietf-idr-bgpls-segment-routing-epe] and | ||||
[I-D.ietf-idr-bgp-ls-segment-routing-ext]. However, as an | [I-D.ietf-idr-bgp-ls-segment-routing-ext]. However, as an | |||
optional alternative for the advertisement of the local SRGB | optional alternative for the advertisement of the local SRGB | |||
without the topology nor the peer SID's, hence without | without the topology nor the peer SIDs, hence without | |||
applicability for TE, the Originator SRGB TLV of the prefix-SID | applicability for TE, the Originator SRGB TLV of the prefix-SID | |||
attribute, is specified in Section 3.3 of this document. | attribute is specified in Section 3.3 of this document. | |||
As defined in [I-D.ietf-spring-segment-routing-mpls], the index | As defined in [I-D.ietf-spring-segment-routing], the label index | |||
L_I is an offset in the SRGB. Each BGP speaker derives its local | L_I is an offset into the SRGB. Each BGP speaker derives its | |||
MPLS label, L, by adding L_I to the start value of its own SRGB, | local MPLS label, L, by adding L_I to the start value of its own | |||
and programs L in its MPLS dataplane as its incoming/local label | SRGB, and programs L in its MPLS dataplane as its incoming/local | |||
for the prefix. It should be noted that while SRGBs and SIDs are | label for the prefix. It should be noted that while SRGBs and | |||
advertised using 32-bit values, the derived label is to be | SIDs are advertised using 32-bit values, the derived label is | |||
considered as the 20 right-most bits. See Section 4.1 for more | advertised in the 20 right-most bits. See Section 4.1 for more | |||
details. | details. | |||
The outgoing label for the prefix is found in the NLRI of the | The outgoing label for the prefix is found in the NLRI of the | |||
Multiprotocol BGP labeled IPv4/IPv6 Unicast prefix advertisement. | Multiprotocol BGP labeled IPv4/IPv6 Unicast prefix advertisement. | |||
The index L_I is only used as a hint to derive the local/incoming | The label index L_I is only used as a hint to derive the local/ | |||
label. | 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 of a given prefix. | label index for a given prefix. | |||
In order to advertise the label index of a given prefix P and, | In order to advertise the label index of a given prefix P and, | |||
optionally, the SRGB, an extension to BGP is needed: the BGP Prefix- | optionally, the SRGB, an extension to BGP is needed: the BGP Prefix- | |||
SID attribute. This extension is described in subsequent sections. | SID attribute. This extension is described in subsequent sections. | |||
2.2. IPv6 Prefix Segment | 2.2. IPv6 Prefix Segment | |||
When SR is used over an IPv6 dataplane, the BGP Prefix-SID consists | When SR is used over an IPv6 dataplane, the BGP Prefix-SID consists | |||
of an IPv6 address assigned to the BGP speaker. | of an IPv6 address assigned to the BGP speaker. | |||
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). | |||
The BGP Prefix-SID attribute is defined here to be a set of elements | The BGP Prefix-SID attribute is defined here to be a set of elements | |||
encoded as "Type/Length/Value" (i.e., a set of TLVs). The following | encoded as "Type/Length/Value" tuples (i.e., a set of TLVs). The | |||
TLVs are defined: | following TLVs are defined: | |||
o Label-Index TLV | o Label-Index TLV | |||
o IPv6 SID TLV | o IPv6 SID TLV | |||
o Originator SRGB TLV | o Originator SRGB TLV | |||
Label-Index and Originator SRGB TLVs are used only when SR is applied | The Label-Index and Originator SRGB TLVs are used only when SR is | |||
to the MPLS dataplane. | applied to the MPLS dataplane. | |||
IPv6 SID TLV is used only when SR is applied to the IPv6 dataplane. | The IPv6 SID TLV is used only when SR is applied to the IPv6 | |||
dataplane. | ||||
3.1. Label-Index TLV | 3.1. Label-Index TLV | |||
The Label-Index TLV MUST be present in the Prefix-SID attribute | The Label-Index TLV MUST be present in the BGP Prefix-SID attribute | |||
attached to Labeled IPv4/IPv6 unicast prefixes ([RFC8277]) and has | attached to Labeled IPv4/IPv6 unicast prefixes ([RFC8277]). It will | |||
the following format: | 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 | |||
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 | Length | RESERVED | | | Type | Length | RESERVED | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags | Label Index | | | Flags | Label Index | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Label Index | | | Label Index | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
o Type is 1. | o Type is 1. | |||
o Length: is 7, the total length of the value portion of the TLV. | o Length: is 7, the total length in octets of the value portion of | |||
the TLV. | ||||
o RESERVED: 8-bit field. MUST be clear on transmission and MUST be | o RESERVED: 8-bit field. MUST be clear on transmission and MUST be | |||
ignored on reception. | ignored on reception. | |||
o Flags: 16 bits of flags. None are defined by this document. The | o Flags: 16 bits of flags. None are defined by this document. The | |||
flag field MUST be clear on transmission and MUST be ignored on | flag field MUST be clear on transmission and MUST be ignored on | |||
reception. | reception. | |||
o Label Index: 32-bit value representing the index value in the SRGB | o Label Index: 32-bit value representing the index value in the SRGB | |||
space. | space. | |||
3.2. IPv6 SID | 3.2. IPv6 SID | |||
The IPv6-SID TLV MAY be present in the Prefix-SID attribute attached | The IPv6 SID TLV MAY be present in the BGP Prefix-SID attribute | |||
to MP-BGP unlabeled IPv6 unicast prefixes ([RFC4760]) and has the | attached to MP-BGP unlabeled IPv6 unicast prefixes ([RFC4760]). It | |||
following format: | will be ignored for other BGP AFI/SAFI combinations. The IPv6 SID | |||
TLV has the following format: | ||||
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 | Length | RESERVED | | | Type | Length | RESERVED | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| RESERVED | | | | RESERVED | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| | | | | | |||
| IPv6 SID (16 octets) | | | IPv6 SID (16 octets) | | |||
| | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
o Type is 2. | o Type is 2. | |||
o Length: is 19, the total length of the value portion of the TLV. | o Length: is 19, the total length in octets of the value portion of | |||
the TLV. | ||||
o RESERVED: 24-bit field for future use. MUST be clear on | o RESERVED: 24-bit field for future use. MUST be clear on | |||
transmission and MUST be ignored on reception. | transmission and MUST be ignored on reception. | |||
o IPv6 SID: 16 octets. | o IPv6 SID: 16 octets. | |||
3.3. Originator SRGB TLV | 3.3. Originator SRGB TLV | |||
The Originator SRGB TLV is an optional TLV and has the following | The Originator SRGB TLV is an optional TLV and has the following | |||
format: | format: | |||
skipping to change at page 8, line 29 ¶ | skipping to change at page 8, line 29 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SRGB n (6 octets) | | | SRGB n (6 octets) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
where: | where: | |||
o Type is 3. | o Type is 3. | |||
o Length is the total length of the value portion of the TLV: 2 + | o Length is the total length in octets of the value portion of the | |||
multiple of 6. | TLV: 2 + multiple of 6. | |||
o Flags: 16 bits of flags. None are defined in this document. | o Flags: 16 bits of flags. None are defined in this document. | |||
Flags MUST be clear on transmission and MUST be ignored on | Flags MUST be clear on transmission and MUST be ignored on | |||
reception. | reception. | |||
o SRGB: 3 octets of base followed by 3 octets of range. Note that | o SRGB: 3 octets of base followed by 3 octets of range. Note that | |||
the SRGB field MAY appear multiple times. If the SRGB field | the SRGB field MAY appear multiple times. If the SRGB field | |||
appears multiple times, the SRGB consists of multiple ranges. | appears multiple times, the SRGB consists of multiple ranges. | |||
The Originator SRGB TLV contains the SRGB of the node originating the | The Originator SRGB TLV contains the SRGB of the node originating the | |||
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. | TLV MUST NOT be changed during the propagation of the BGP update. | |||
The originator SRGB describes the SRGB of the node where the BGP | The originator SRGB describes the SRGB of the node where the BGP | |||
Prefix SID is attached. It is used to build segment routing policies | Prefix SID is attached. It is used to build segment routing policies | |||
when different SRGBs are used in the fabric, for example | when different SRGBs are used in the fabric, for example | |||
([I-D.ietf-spring-segment-routing-msdc]). | ([I-D.ietf-spring-segment-routing-msdc]). | |||
The originator SRGB may only appear on Prefix-SID attribute attached | The originator SRGB may only appear in a BGP Prefix-SID attribute | |||
to prefixes of SAFI 4 (labeled unicast, [RFC8277]). | attached to Labeled IPv4/IPv6 unicast prefixes ([RFC8277]). It will | |||
be ignored when received for other BGP AFI/SAFI combinations. | ||||
4. Receiving BGP-Prefix-SID Attribute | 4. Receiving BGP Prefix-SID Attribute | |||
A BGP speaker receiving a BGP Prefix-SID attribute from an EBGP | A BGP speaker receiving a BGP Prefix-SID attribute from an EBGP | |||
neighbor residing outside the boundaries of the SR domain, SHOULD | neighbor residing outside the boundaries of the SR domain, MUST | |||
discard the attribute unless it is configured to accept the attribute | discard the attribute unless it is configured to accept the attribute | |||
from the EBGP neighbor. A BGP speaker MAY log an error for further | from the EBGP neighbor. A BGP speaker MAY log an error for further | |||
analysis when discarding an attribute. | analysis when discarding an attribute. | |||
4.1. MPLS Dataplane: Labeled Unicast | 4.1. MPLS Dataplane: Labeled Unicast | |||
A Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC8277]) session | A Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC8277]) session | |||
type is required. | type is required. | |||
A BGP speaker MAY be locally configured with an SRGB=[SRGB_Start, | A BGP speaker may be locally configured with an SRGB=[SRGB_Start, | |||
SRGB_End]. The preferred method for deriving the SRGB is a matter of | SRGB_End]. The preferred method for deriving the SRGB is a matter of | |||
local node configuration. | local node configuration. | |||
Given a label_index L_I, we call L = L_I + SRGB_Start as the derived | Given a label index L_I, we call L = L_I + SRGB_Start as the derived | |||
label. A BGP Prefix-SID attribute is designated "unacceptable" for a | label. A BGP Prefix-SID attribute is designated "unacceptable" for a | |||
speaker M if the derived label value L lies outside the SRGB | speaker M if the derived label value L lies outside the SRGB | |||
configured on M. Otherwise the Label Index attribute is designated | configured on M. Otherwise the Label-Index TLV is designated | |||
"acceptable" to speaker M. | "acceptable" to speaker M. | |||
The mechanisms through which a given label_index value is assigned to | The mechanisms through which a given label index value is assigned to | |||
a given prefix are outside the scope of this document. The label- | a given prefix are outside the scope of this document. The label- | |||
index value associated with a prefix is locally configured at the BGP | index value associated with a prefix is locally configured at the BGP | |||
node originating the prefix. | node originating the prefix. | |||
The Prefix-SID attribute MUST contain the Label-Index TLV and MAY | The BGP Prefix-SID attribute MUST contain the Label-Index TLV and MAY | |||
contain the Originator SRGB TLV. A BGP Prefix-SID attribute received | contain the Originator SRGB TLV. A BGP Prefix-SID attribute received | |||
without a Label-Index TLV MUST be considered as "unacceptable" by the | without a Label-Index TLV MUST be considered as "unacceptable" by the | |||
receiving speaker. | receiving speaker. | |||
If multiple prefixes are received with the same label_index value, | If multiple prefixes are received with the same label index value, | |||
all these prefixes MUST have their BGP Prefix-SID attribute | all these prefixes MUST have their BGP Prefix-SID attribute | |||
considered as "unacceptable" by the receiving speaker. | considered as "unacceptable" by the receiving speaker. | |||
When a BGP speaker receives a path from a neighbor with an acceptable | When a BGP speaker receives a path from a neighbor with an acceptable | |||
BGP Prefix-SID attribute, it MUST program the derived label as the | BGP Prefix-SID attribute, it MUST program the derived label as the | |||
local label for the prefix in its MPLS dataplane. In case of any | local label for the prefix in its MPLS dataplane. In case of an | |||
error, a BGP speaker MUST follow to the error handling rules | error, a BGP speaker MUST follow to the error handling rules | |||
specified in Section 6. A BGP speaker MAY log an error for further | specified in Section 6. A BGP speaker MAY log an error for further | |||
analysis. | analysis. | |||
When a BGP speaker receives a path from a neighbor with an | When a BGP speaker receives a path from a neighbor with an | |||
unacceptable BGP Prefix-SID attribute or when a BGP speaker receives | unacceptable BGP Prefix-SID attribute or when a BGP speaker receives | |||
a path from a neighbor with a BGP Prefix-SID attribute but is unable | a path from a neighbor with a BGP Prefix-SID attribute but is unable | |||
to process it (it does not have the capability or local policy | to process it (it does not have the capability or local policy | |||
disables the capability), it MUST treat the path as if it came | disables the capability), it MUST treat the path as if it came | |||
without a Prefix-SID attribute. For the purposes of local label | without a BGP Prefix-SID attribute. For the purposes of local label | |||
allocation, a BGP speaker MUST assign a local (also called dynamic) | allocation, a BGP speaker MUST assign a local (also called dynamic) | |||
label (non-SRGB) for such a prefix as per classic Multiprotocol BGP | label (non-SRGB) for such a prefix as per classic Multiprotocol BGP | |||
labeled IPv4/IPv6 Unicast ([RFC8277]) operation. A BGP speaker MAY | labeled IPv4/IPv6 Unicast ([RFC8277]) operation. A BGP speaker MAY | |||
log an error for further analysis. | log an error for further analysis. | |||
The outgoing label is always programmed as per classic Multiprotocol | The outgoing label is always programmed as per classic Multiprotocol | |||
BGP labeled IPv4/IPv6 Unicast (RFC8277 [RFC8277]) operation. | BGP labeled IPv4/IPv6 Unicast ([RFC8277]) operation. | |||
Specifically, a BGP speaker receiving a prefix with a Prefix-SID | Specifically, a BGP speaker receiving a prefix with a BGP Prefix-SID | |||
attribute and a label NLRI field of implicit-null from a neighbor | attribute and a label NLRI field of Implicit NULL from a neighbor | |||
MUST adhere to standard behavior and program its MPLS dataplane to | MUST adhere to standard behavior and program its MPLS dataplane to | |||
pop the top label when forwarding traffic to the prefix. The label | pop the top label when forwarding traffic to the prefix. The label | |||
NLRI defines the outbound label that MUST be used by the receiving | NLRI defines the outbound label that MUST be used by the receiving | |||
node. The Label Index gives the information to the receiving node on | node. The label index gives the information to the receiving node on | |||
which local/incoming label the BGP speaker SHOULD use. | which local/incoming label the BGP speaker SHOULD assign. | |||
4.2. IPv6 Dataplane | 4.2. IPv6 Dataplane | |||
When an SR IPv6 BGP speaker receives a IPv6 Unicast BGP Update with a | When an SR IPv6 BGP speaker receives an IPv6 Unicast BGP Update with | |||
prefix having the BGP Prefix-SID attribute attached, it checks | a prefix having the BGP Prefix-SID attribute attached, it checks | |||
whether the IPv6 SID TLV is present. If present, then the receiver | whether the IPv6 SID TLV is present. If present and the chosen as | |||
assumes that the originator supports SR on the IPv6 dataplane. | 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 Originator SRGB MUST be ignored on reception. | |||
A BGP speaker receiving a BGP Prefix-SID attribute from an EBGP | 5. Advertising BGP Prefix-SID Attribute | |||
neighbor residing outside the boundaries of the SR domain, SHOULD | ||||
discard the attribute unless it is configured to accept the attribute | ||||
from the EBGP neighbor. A BGP speaker MAY log an error for further | ||||
analysis when discarding an attribute. | ||||
5. Announcing BGP-Prefix-SID Attribute | ||||
The BGP Prefix-SID attribute MAY be attached to labeled BGP prefixes | The BGP Prefix-SID attribute MAY be attached to labeled BGP prefixes | |||
(IPv4/IPv6) [RFC8277] or to IPv6 prefixes [RFC4760]. In order to | (IPv4/IPv6) [RFC8277] or to IPv6 unicast prefixes [RFC4760]. In | |||
prevent distribution of the BGP Prefix-SID attribute beyond its | order to prevent distribution of the BGP Prefix-SID attribute beyond | |||
intended scope of applicability, attribute filtering SHOULD be | its intended scope of applicability, attribute filtering SHOULD be | |||
deployed. | deployed. | |||
A BGP speaker that advertises a path received from one of its | ||||
neighbors SHOULD advertise the BGP Prefix-SID received with the path | ||||
without modification, as long as the BGP Prefix-SID was acceptable. | ||||
If the path did not come with a BGP Prefix-SID attribute, the speaker | ||||
MAY attach a BGP Prefix-SID to the path if configured to do so. The | ||||
content of the TLVs present in the BGP Prefix-SID is determined by | ||||
the configuration. | ||||
5.1. MPLS Dataplane: Labeled Unicast | 5.1. MPLS Dataplane: Labeled Unicast | |||
A BGP speaker that originates a prefix attaches the Prefix-SID | A BGP speaker that originates a prefix attaches the BGP Prefix-SID | |||
attribute when it advertises the prefix to its neighbors via | attribute when it advertises the prefix to its neighbors via | |||
Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC8277]). The value | Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC8277]). The value | |||
of the Label-Index in the Label-Index TLV is determined by | of the label index in the Label-Index TLV is determined by | |||
configuration. | configuration. | |||
A BGP speaker that originates a Prefix-SID attribute MAY optionally | A BGP speaker that originates a BGP Prefix-SID attribute MAY | |||
announce Originator SRGB TLV along with the mandatory Label-Index | optionally announce the Originator SRGB TLV along with the mandatory | |||
TLV. The content of the Originator SRGB TLV is determined by the | Label-Index TLV. The content of the Originator SRGB TLV is | |||
configuration. | determined by configuration. | |||
Since the Label-index value must be unique within an SR domain, by | Since the label index value must be unique within an SR domain, by | |||
default an implementation SHOULD NOT advertise the BGP Prefix-SID | default an implementation SHOULD NOT advertise the BGP Prefix-SID | |||
attribute outside an Autonomous System unless it is explicitly | attribute outside an Autonomous System unless it is explicitly | |||
configured to do so. | configured to do so. | |||
A BGP speaker that advertises a path received from one of its | ||||
neighbors SHOULD advertise the Prefix-SID received with the path | ||||
without modification, regardless of whether the Prefix-SID was | ||||
acceptable. If the path did not come with a Prefix-SID attribute, | ||||
the speaker MAY attach a Prefix-SID to the path if configured to do | ||||
so. The content of the TLVs present in the Prefix-SID is determined | ||||
by the configuration. | ||||
In all cases, the label field of the advertised NLRI ([RFC8277], | In all cases, the label field of the advertised NLRI ([RFC8277], | |||
[RFC4364]) MUST be set to the local/incoming label programmed in the | [RFC4364]) MUST be set to the local/incoming label programmed in the | |||
MPLS dataplane for the given advertised prefix. If the prefix is | MPLS dataplane for the given advertised prefix. If the prefix is | |||
associated with one of the BGP speaker's interfaces, this label is | associated with one of the BGP speaker's interfaces, this is the | |||
the usual MPLS label (such as the implicit or explicit NULL label). | usual MPLS label (such as the Implicit or Explicit NULL label). | |||
5.2. IPv6 Dataplane | 5.2. IPv6 Dataplane | |||
A BGP speaker that originates an IPv6 prefix with the Prefix-SID | A BGP speaker that originates an IPv6 prefix with the BGP Prefix-SID | |||
attribute, MAY include the IPv6 SID TLV. | attribute MAY include the IPv6 SID TLV. | |||
A BGP speaker that advertises a path received from one of its | ||||
neighbors SHOULD advertise the Prefix-SID received with the path | ||||
without modification, regardless of whether the Prefix-SID was | ||||
acceptable. If the path did not come with a Prefix-SID attribute, | ||||
the speaker MAY attach a Prefix-SID to the path if configured to do | ||||
so. | ||||
6. Error Handling of BGP-Prefix-SID Attribute | 6. Error Handling of BGP Prefix-SID Attribute | |||
When a BGP Speaker receives a BGP Update message containing a | When a BGP Speaker receives a BGP Update message containing a | |||
malformed BGP Prefix-SID attribute, it MUST ignore the received BGP | malformed or unacceptable BGP Prefix-SID attribute attached to a | |||
Prefix-SID attributes and not pass it to other BGP peers. This is | Labeled IPv4/IPv6 unicast prefix [RFC8277], it MUST ignore the | |||
equivalent to the "Attribute discard" action specified in [RFC7606]. | received BGP Prefix-SID attributes and not advertise it to other BGP | |||
When discarding an attribute, a BGP speaker MAY log an error for | peers. This is equivalent to the "Attribute discard" action | |||
further analysis. | specified in [RFC7606]. When discarding an attribute, a BGP speaker | |||
SHOULD log an error for further analysis. | ||||
If the BGP Prefix-SID attribute appears more than once in an BGP | When a BGP Speaker receives a BGP Update message containing a | |||
Update message, then, according to [RFC7606], all the occurrences of | malformed or unacceptable BGP Prefix-SID attribute attached to an | |||
the attribute other than the first one SHALL be discarded and the BGP | unlabeled IPv6 unicast prefix [RFC4760], it MUST treat the | |||
Update message SHALL continue to be processed. | 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. | ||||
When a BGP speaker receives an unacceptable Prefix-SID attribute, it | Consistent with [RFC7606], only the first occurrence of the BGP | |||
MAY log an error for further analysis. | Prefix-SID attribute will be considered and subsequent occurrences | |||
will be discarded. | ||||
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) for BGP the Prefix-SID attribute from | code type (suggested value: 40) the BGP Prefix-SID attribute from the | |||
the BGP Path Attributes registry. | BGP Path Attributes registry. | |||
Currently, IANA temporarily assigned the following: | Currently, 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] | 2016-09-30) [draft-ietf-idr-bgp-prefix-sid] | |||
This document defines 3 TLVs for BGP Prefix-SID attribute. These | 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 | TLVs need to be registered with IANA. We request IANA to create a | |||
registry for BGP Prefix-SID Attribute TLVs as follows: | 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 attribute 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 First Come, First Served, | Registration Procedure(s): Values 1-254 First Come, First Served, | |||
Value 0 and 255 reserved | 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 IPv6 SID this document | 2 IPv6 SID 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 | |||
This document also creates a registry for the 16 bits of flags in the | ||||
Label-Index TLV. Initially, the registry will be empty. Flag bits | ||||
will be allocated First-Come, First Served consistent with the BGP- | ||||
SID TLV Types registry. | ||||
Finally, this document creates a registry for the 16 bits of flags in | ||||
the SRGB Originator TLV. Initially, the registry will be empty. | ||||
Flag bits will be allocated First-Come, First Served consistent with | ||||
the BGP-SID TLV Types registry. | ||||
8. Manageability Considerations | 8. Manageability Considerations | |||
This document defines a BGP attribute to address use cases such as | This document defines a BGP attribute to address use cases such as | |||
the one described in [I-D.ietf-spring-segment-routing-msdc]. It is | the one described in [I-D.ietf-spring-segment-routing-msdc]. It is | |||
assumed that the BGP Prefix-SID attribute advertisement is controlled | assumed that advertisement of the BGP Prefix-SID attribute is | |||
by the operator in order to: | controlled by the operator in order to: | |||
o Prevent undesired origination/advertisement of the BGP Prefix-SID | o Prevent undesired origination/advertisement of the BGP Prefix-SID | |||
attribute. By default, a BGP Prefix-SID attribute SHOULD NOT be | attribute. By default, a BGP Prefix-SID attribute SHOULD NOT be | |||
originated and attached to a prefix. The operator MUST be capable | attached to a prefix and advertised. Hence, BGP Prefix-SID | |||
of explicitly enabling BGP Prefix-SID origination. | advertisement SHOULD require explicit enablement. | |||
o Prevent any undesired propagation of the BGP Prefix-SID attribute. | o Prevent any undesired propagation of the BGP Prefix-SID attribute. | |||
By default, the BGP Prefix-SID is not advertised outside the | By default, the BGP Prefix-SID is not advertised outside the | |||
boundary of an AS. The propagation to other ASs MUST be | boundary of a single SR/administrative domain which may include | |||
one or more ASes. The propagation to other ASes MUST be | ||||
explicitly configured. | explicitly configured. | |||
The deployment model described in | The deployment model described in | |||
[I-D.ietf-spring-segment-routing-msdc] assumes multiple Autonomous | [I-D.ietf-spring-segment-routing-msdc] assumes multiple Autonomous | |||
Systems (AS) under a common administrative domain. For this use | Systems (ASes) under a common administrative domain. For this use | |||
case, the BGP Prefix-SID advertisement is applicable to the inter-AS | case, the BGP Prefix-SID advertisement is applicable to the inter-AS | |||
context, i.e., EBGP, while it is confined to a single administrative | context, i.e., EBGP, while it is confined to a single administrative | |||
domain. | domain. | |||
9. Security Considerations | 9. Security Considerations | |||
This document introduces a BGP attribute (BGP Prefix-SID) which | This document introduces a BGP attribute (BGP Prefix-SID) which | |||
inherits the security considerations expressed in: [RFC4271] and | inherits the security considerations expressed in: [RFC4271], | |||
[RFC8277]. | [RFC8277], and [I-D.ietf-spring-segment-routing]. | |||
It should be noted, as described in Section 8, that this document | It should be noted that, as described in Section 8, this document | |||
refers to a deployment model where all nodes are under the single | refers to a deployment model where all nodes are under the single | |||
administrative domain. In this context, we assume that the operator | administrative domain. In this context, we assume that the operator | |||
doesn't want to leak outside of the domain any information related to | doesn't want to leak any information related to internal prefixes and | |||
internal prefixes and topology. The internal information includes | topology outside of the administrative domain. The internal | |||
the BGP Prefix-SID. In order to prevent such leaking, the standard | information includes the BGP Prefix-SID. In order to prevent such | |||
BGP mechanisms (filters) are applied on the boundary of the SR | leaking, the standard BGP mechanisms (filters) are applied at the | |||
domain. | boundary of the SR/administrative domain. | |||
10. Contributors | 10. Contributors | |||
Keyur Patel | Keyur Patel | |||
Arrcus, Inc. | Arrcus, Inc. | |||
US | US | |||
Email: Keyur@arrcus.com | Email: Keyur@arrcus.com | |||
Saikat Ray | Saikat Ray | |||
Unaffiliated | Unaffiliated | |||
US | US | |||
Email: raysaikat@gmail.com | Email: raysaikat@gmail.com | |||
11. Acknowledgements | 11. Acknowledgements | |||
The authors would like to thanks Satya Mohanty for his contribution | The authors would like to thank Satya Mohanty for his contribution to | |||
to this document. | this document. | |||
The authors would like to thank Alvaro Retana for substantive | ||||
comments as part of the Routing AD review. | ||||
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-14 (work | Architecture", draft-ietf-spring-segment-routing-14 (work | |||
in progress), December 2017. | in progress), December 2017. | |||
skipping to change at page 14, line 35 ¶ | skipping to change at page 14, line 48 ¶ | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
DOI 10.17487/RFC4271, January 2006, <https://www.rfc- | DOI 10.17487/RFC4271, January 2006, <https://www.rfc- | |||
editor.org/info/rfc4271>. | editor.org/info/rfc4271>. | |||
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private | |||
Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February | |||
2006, <https://www.rfc-editor.org/info/rfc4364>. | 2006, <https://www.rfc-editor.org/info/rfc4364>. | |||
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, | ||||
"Multiprotocol Extensions for BGP-4", RFC 4760, | ||||
DOI 10.17487/RFC4760, January 2007, <https://www.rfc- | ||||
editor.org/info/rfc4760>. | ||||
[RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. | [RFC7606] Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. | |||
Patel, "Revised Error Handling for BGP UPDATE Messages", | Patel, "Revised Error Handling for BGP UPDATE Messages", | |||
RFC 7606, DOI 10.17487/RFC7606, August 2015, | RFC 7606, DOI 10.17487/RFC7606, August 2015, | |||
<https://www.rfc-editor.org/info/rfc7606>. | <https://www.rfc-editor.org/info/rfc7606>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
[RFC8277] Rosen, E., "Using BGP to Bind MPLS Labels to Address | [RFC8277] Rosen, E., "Using BGP to Bind MPLS Labels to Address | |||
Prefixes", RFC 8277, DOI 10.17487/RFC8277, October 2017, | Prefixes", RFC 8277, DOI 10.17487/RFC8277, October 2017, | |||
<https://www.rfc-editor.org/info/rfc8277>. | <https://www.rfc-editor.org/info/rfc8277>. | |||
12.2. Informative References | 12.2. Informative References | |||
[I-D.ietf-idr-bgp-ls-segment-routing-ext] | [I-D.ietf-idr-bgp-ls-segment-routing-ext] | |||
Previdi, S., Psenak, P., Filsfils, C., Gredler, H., and M. | Previdi, S., Psenak, P., Filsfils, C., Gredler, H., and M. | |||
Chen, "BGP Link-State extensions for Segment Routing", | Chen, "BGP Link-State extensions for Segment Routing", | |||
draft-ietf-idr-bgp-ls-segment-routing-ext-03 (work in | draft-ietf-idr-bgp-ls-segment-routing-ext-03 (work in | |||
skipping to change at page 15, line 17 ¶ | skipping to change at page 15, line 38 ¶ | |||
Dong, "BGP-LS extensions for Segment Routing BGP Egress | Dong, "BGP-LS extensions for Segment Routing BGP Egress | |||
Peer Engineering", draft-ietf-idr-bgpls-segment-routing- | Peer Engineering", draft-ietf-idr-bgpls-segment-routing- | |||
epe-14 (work in progress), December 2017. | epe-14 (work in progress), December 2017. | |||
[I-D.ietf-spring-segment-routing-msdc] | [I-D.ietf-spring-segment-routing-msdc] | |||
Filsfils, C., Previdi, S., Mitchell, J., Aries, E., and P. | Filsfils, C., Previdi, S., Mitchell, J., Aries, E., and P. | |||
Lapukhov, "BGP-Prefix Segment in large-scale data | Lapukhov, "BGP-Prefix Segment in large-scale data | |||
centers", draft-ietf-spring-segment-routing-msdc-08 (work | centers", draft-ietf-spring-segment-routing-msdc-08 (work | |||
in progress), December 2017. | in progress), December 2017. | |||
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, | ||||
"Multiprotocol Extensions for BGP-4", RFC 4760, | ||||
DOI 10.17487/RFC4760, January 2007, <https://www.rfc- | ||||
editor.org/info/rfc4760>. | ||||
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | |||
S. Ray, "North-Bound Distribution of Link-State and | S. Ray, "North-Bound Distribution of Link-State and | |||
Traffic Engineering (TE) Information Using BGP", RFC 7752, | Traffic Engineering (TE) Information Using BGP", RFC 7752, | |||
DOI 10.17487/RFC7752, March 2016, <https://www.rfc- | DOI 10.17487/RFC7752, March 2016, <https://www.rfc- | |||
editor.org/info/rfc7752>. | editor.org/info/rfc7752>. | |||
Authors' Addresses | Authors' Addresses | |||
Stefano Previdi (editor) | Stefano Previdi (editor) | |||
Cisco Systems | Cisco Systems | |||
skipping to change at page 15, line 35 ¶ | skipping to change at page 16, line 4 ¶ | |||
DOI 10.17487/RFC7752, March 2016, <https://www.rfc- | DOI 10.17487/RFC7752, March 2016, <https://www.rfc- | |||
editor.org/info/rfc7752>. | editor.org/info/rfc7752>. | |||
Authors' Addresses | Authors' Addresses | |||
Stefano Previdi (editor) | Stefano Previdi (editor) | |||
Cisco Systems | Cisco Systems | |||
IT | IT | |||
Email: stefano@previdi.net | Email: stefano@previdi.net | |||
Clarence Filsfils | Clarence Filsfils | |||
Cisco Systems | Cisco Systems | |||
Brussels | Brussels | |||
Belgium | Belgium | |||
Email: cfilsfils@cisco.com | Email: cfilsfils@cisco.com | |||
Acee Lindem | Acee Lindem | |||
Cisco Systems | Cisco Systems | |||
170 W. Tasman Drive | 301 Midenhall Way | |||
San Jose, CA 95124 95134 | Cary, NC 27513 | |||
USA | USA | |||
Email: acee@cisco.com | Email: acee@cisco.com | |||
Arjun Sreekantiah | Arjun Sreekantiah | |||
Email: arjunhrs@gmail.com | Email: arjunhrs@gmail.com | |||
Hannes Gredler | Hannes Gredler | |||
RtBrick Inc. | RtBrick Inc. | |||
Email: hannes@rtbrick.com | Email: hannes@rtbrick.com | |||
End of changes. 82 change blocks. | ||||
159 lines changed or deleted | 175 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |