draft-ietf-idr-bgp-prefix-sid-00.txt   draft-ietf-idr-bgp-prefix-sid-01.txt 
IDR K. Patel IDR S. Previdi
Internet-Draft S. Previdi Internet-Draft C. Filsfils
Intended status: Standards Track C. Filsfils Intended status: Standards Track A. Lindem
Expires: February 28, 2016 A. Sreekantiah Expires: April 16, 2016 K. Patel
A. Sreekantiah
Cisco Systems Cisco Systems
S. Ray S. Ray
Unaffiliated Unaffiliated
H. Gredler H. Gredler
Juniper Networks Juniper Networks
August 27, 2015 October 14, 2015
Segment Routing Prefix SID extensions for BGP Segment Routing Prefix SID extensions for BGP
draft-ietf-idr-bgp-prefix-sid-00 draft-ietf-idr-bgp-prefix-sid-01
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 a SR header to a packet
containing a set of "segments". Each segment represents a containing a set of "segments". Each segment represents a
topological or a service-based instruction. Per-flow state is topological or a service-based instruction. Per-flow state is
maintained only at the ingress node of the SR domain. maintained only at the ingress node of the SR domain.
skipping to change at page 2, line 7 skipping to change at page 2, line 7
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 February 28, 2016. This Internet-Draft will expire on April 16, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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 33 skipping to change at page 2, line 33
Table of Contents Table of Contents
1. Segment Routing Documents . . . . . . . . . . . . . . . . . . 3 1. Segment Routing Documents . . . . . . . . . . . . . . . . . . 3
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
3. BGP-Prefix-SID . . . . . . . . . . . . . . . . . . . . . . . 4 3. BGP-Prefix-SID . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. MPLS Prefix Segment . . . . . . . . . . . . . . . . . . . 4 3.1. MPLS Prefix Segment . . . . . . . . . . . . . . . . . . . 4
3.2. IPv6 Prefix Segment . . . . . . . . . . . . . . . . . . . 5 3.2. IPv6 Prefix Segment . . . . . . . . . . . . . . . . . . . 5
4. BGP-Prefix-SID Attribute . . . . . . . . . . . . . . . . . . 5 4. BGP-Prefix-SID Attribute . . . . . . . . . . . . . . . . . . 5
4.1. Label-Index TLV . . . . . . . . . . . . . . . . . . . . . 6 4.1. Label-Index TLV . . . . . . . . . . . . . . . . . . . . . 6
4.2. IPv6 SID . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2. IPv6 SID . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3. Originator SRGB TLV . . . . . . . . . . . . . . . . . . . 7 4.3. Originator SRGB TLV . . . . . . . . . . . . . . . . . . . 8
5. Receiving BGP-Prefix-SID Attribute . . . . . . . . . . . . . 9 5. Receiving BGP-Prefix-SID Attribute . . . . . . . . . . . . . 9
5.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 9 5.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 9
5.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 10 5.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 10
6. Announcing BGP-Prefix-SID Attribute . . . . . . . . . . . . . 10 6. Announcing BGP-Prefix-SID Attribute . . . . . . . . . . . . . 10
6.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 10 6.1. MPLS Dataplane: Labeled Unicast . . . . . . . . . . . . . 10
6.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 11 6.2. IPv6 Dataplane . . . . . . . . . . . . . . . . . . . . . 11
7. Error Handling of BGP-Prefix-SID Attribute . . . . . . . . . 11 7. Error Handling of BGP-Prefix-SID Attribute . . . . . . . . . 11
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 9. Security Considerations . . . . . . . . . . . . . . . . . . . 12
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12
11. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 12 11. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 12
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
12.1. Normative References . . . . . . . . . . . . . . . . . . 12 12.1. Normative References . . . . . . . . . . . . . . . . . . 13
12.2. Informative References . . . . . . . . . . . . . . . . . 13 12.2. Informative References . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Segment Routing Documents 1. Segment Routing Documents
The main references for this document are the SR architecture defined The main references for this document are the SR architecture defined
in [I-D.ietf-spring-segment-routing] and the related use case in [I-D.ietf-spring-segment-routing] and the related use case
illustrated in [I-D.filsfils-spring-segment-routing-msdc]. illustrated in [I-D.ietf-spring-segment-routing-msdc].
The Segment Routing Egress Peer Engineering architecture is described The Segment Routing Egress Peer Engineering architecture is described
in [I-D.filsfils-spring-segment-routing-central-epe]. in [I-D.filsfils-spring-segment-routing-central-epe].
The Segment Routing Egress Peer Engineering BGPLS extensions are The Segment Routing Egress Peer Engineering BGPLS extensions are
described in [I-D.ietf-idr-bgpls-segment-routing-epe]. described in [I-D.ietf-idr-bgpls-segment-routing-epe].
2. Introduction 2. Introduction
Segment Routing (SR) architecture leverages the source routing Segment Routing (SR) architecture leverages the source routing
skipping to change at page 3, line 47 skipping to change at page 3, line 47
to a BGP prefix. A BGP-Prefix-SID is always global within the SR/BGP to a BGP prefix. A BGP-Prefix-SID is always global within the SR/BGP
domain and identifies an instruction to forward the packet over the domain and identifies an instruction to forward the packet over the
ECMP-aware best-path computed by BGP to the related prefix. The BGP- ECMP-aware best-path computed by BGP to the related prefix. The BGP-
Prefix-SID is the identifier of the BGP prefix segment. Prefix-SID is the identifier of the BGP prefix segment.
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 new BGP attribute known SID. Specifically, this document defines a new BGP attribute known
as the BGP Prefix SID attribute and specifies the rules to originate, as the BGP Prefix SID attribute and specifies the rules to originate,
receive and handle error conditions of the new attribute. receive and handle error conditions of the new attribute.
As described in [I-D.filsfils-spring-segment-routing-msdc], the newly As described in [I-D.ietf-spring-segment-routing-msdc], the newly
proposed BGP Prefix-SID attribute can be attached to prefixes from proposed BGP Prefix-SID attribute can be attached to prefixes from
AFI/SAFI: AFI/SAFI:
Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC3107]). Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC3107]).
Multiprotocol BGP ([RFC4760]) unlabeled IPv6 Unicast. Multiprotocol BGP ([RFC4760]) unlabeled IPv6 Unicast.
[I-D.filsfils-spring-segment-routing-msdc] describes use cases where [I-D.ietf-spring-segment-routing-msdc] describes use cases where the
the Prefix-SID is used for the above AFI/SAFI. Prefix-SID is used for the above AFI/SAFI.
3. BGP-Prefix-SID 3. BGP-Prefix-SID
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 bestpath (potentially instruction "go to Prefix P" along its BGP bestpath (potentially
ECMP-enabled). ECMP-enabled).
3.1. MPLS Prefix Segment 3.1. MPLS Prefix Segment
The BGP Prefix Segment is realized on the MPLS dataplane in the The BGP Prefix Segment is realized on the MPLS dataplane in the
following way: following way:
A Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC3107]) session
type is required.
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). The SRGB of a node is a local property and could be Block (SRGB). While it is recommended to use the same SRGB across
different on different speakers. all the nodes within the SR domain, the SRGB of a node is a local
property and could be different on different speakers. The
drawbacks of the use case where BGP speakers have different SRGBs
are documented in [I-D.ietf-spring-segment-routing].
As described in [I-D.filsfils-spring-segment-routing-msdc] the As described in [I-D.ietf-spring-segment-routing-msdc] the
operator assigns a globally unique "index", L_I, to a locally operator assigns a globally unique "index", L_I, to a locally
sourced prefix of a BGP speaker N which is advertised to all other sourced prefix of a BGP speaker N which is advertised to all other
BGP speakers in the SR domain. BGP speakers in the SR domain.
The index L_I is a 32 bit offset in the SRGB. Each BGP speaker The index L_I is a 32 bit offset in the SRGB. Each BGP speaker
derives its local MPLS label, L, by adding L_I to the start value derives its local MPLS label, L, by adding L_I to the start value
of its own SRGB, and programs L in its MPLS dataplane as its of its own SRGB, and programs L in its MPLS dataplane as its
incoming/local label for the prefix. incoming/local label for the prefix.
If the BGP speakers are configured with the same SRGB start value, The outgoing label for the prefix is found in the NLRI of the
they will all program the same MPLS label for a given prefix P. Multiprotocol BGP labeled IPv4/IPv6 Unicast prefix advertisement.
This has the effect of having a single label for prefix P across The index L_I is only used as a hint to derive the local/incoming
all BGP speakers despite that the MPLS paradigm of "local label" label.
is preserved and this clearly simplifies the deployment and
operations of traffic engineering in BGP driven networks, as If the BGP speakers cannot be configured with the same SRGB and
described in [I-D.filsfils-spring-segment-routing-msdc]. traffic-engineering within the SR domain is required, each node
MAY be required to advertise its local SRGB.
The preferred method leverages
[I-D.ietf-idr-bgpls-segment-routing-epe].
Indeed, in order to engineer traffic, it is important to have the
internal topology (BGP-LS extensions provide these), the peering
topology (BGP-LS-EPE extensions provide these), and the equivalent
of adjacency segments for each link in the topology (BGP-LS-EPE
extensions provide these through the PeerAdj segments). The first
two provide the topology input to the optimization process. The
latter provides a deterministic method to engineer a flow through
any desired path.
In some very-simplified traffic-engineering context, it might not
be necessary to have either the topology or the adjacency
segments. In such simplified case, the BGP Prefix SID provides an
alternative method to distribute the SRGB of each node.
If the BGP speakers cannot be configured with the same SRGB, the If the BGP speakers cannot be configured with the same SRGB, the
proposed BGP Prefix-SID attribute allows the advertisement of the proposed BGP Prefix-SID attribute allows the advertisement of the
SRGB so each node can advertise the SRGB it's configured with. The SRGB so each node can advertise the SRGB it's configured with. The
drawbacks of the use case where BGP speakers have different SRGBs are drawbacks of the use case where BGP speakers have different SRGBs are
documented in [I-D.filsfils-spring-segment-routing-msdc]. documented in [I-D.ietf-spring-segment-routing-msdc].
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, a new extension to BGP is needed: the BGP optionally, the SRGB, a new extension to BGP is needed: the BGP
Prefix SID attribute. This extension is described in subsequent Prefix SID attribute. This extension is described in subsequent
sections. sections.
3.2. IPv6 Prefix Segment 3.2. IPv6 Prefix Segment
As defined in [I-D.previdi-6man-segment-routing-header], in SR for As defined in [I-D.previdi-6man-segment-routing-header], and as
the IPv6 dataplane, the SRGB consists of the set of IPv6 addresses illustrated in [I-D.ietf-spring-segment-routing-msdc], when SR is
used within the SR domain (as described in used over an IPv6 dataplane, the BGP Prefix Segment is instantiated
[I-D.previdi-6man-segment-routing-header]). Therefore the BGP by an IPv6 prefix originated by the BGP speaker.
speaker willing to process SR IPv6 packets MUST advertise an IPv6
prefix with the attached Prefix SID attribute and related SR IPv6
flag (see subsequent section).
As described in [I-D.filsfils-spring-segment-routing-msdc], when SR
is used over an IPv6 dataplane, the BGP Prefix Segment is
instantiated by an IPv6 prefix originated by the BGP speaker.
Each node advertises a globally unique IPv6 address representing Each node advertises a globally unique IPv6 address representing
itself in the domain. This prefix (e.g.: its loopback interface itself in the domain. This prefix (e.g.: its loopback interface
address) is advertised to all other BGP speakers in the SR domain. address) is advertised to all other BGP speakers in the SR domain.
Also, each node MUST advertise its support of Segment Routing for Also, each node MUST advertise its support of Segment Routing for
IPv6 dataplane. This is realized using the Prefix SID Attribute IPv6 dataplane. This is realized using the flags contained in the
defined below. Prefix SID Attribute defined below.
4. BGP-Prefix-SID Attribute 4. 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 is to be assigned by IANA attribute. The attribute type code is to be assigned by IANA
(suggested value: 40). The value field of the BGP-Prefix-SID (suggested value: 40). The value field of the BGP-Prefix-SID
attribute has the following format: attribute has the following format:
The value field of the BGP Prefix SID attribute is defined here to be The value field of the BGP Prefix SID attribute is defined here to be
a set of elements encoded as "Type/Length/Value" (i.e., a set of a set of elements encoded as "Type/Length/Value" (i.e., a set of
skipping to change at page 7, line 28 skipping to change at page 7, line 44
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
* S flag: if set then it means that the BGP speaker attaching the * S flag: if set then it means that the BGP speaker attaching the
Prefix-SID Attribute to a prefix is capable of processing the Prefix-SID Attribute to a prefix is capable of processing the
IPv6 Segment Routing Header (SRH, IPv6 Segment Routing Header (SRH,
[I-D.previdi-6man-segment-routing-header]) for the segment [I-D.previdi-6man-segment-routing-header]) for the segment
corresponding to the originated IPv6 prefix. The use case corresponding to the originated IPv6 prefix. The use case
leveraging the S flag is described in leveraging the S flag is described in
[I-D.filsfils-spring-segment-routing-msdc]. [I-D.ietf-spring-segment-routing-msdc].
The other bits of the flag field SHOULD be clear on transmission The other bits of the flag field SHOULD be clear on transmission
an MUST be ignored at reception. an MUST be ignored at reception.
4.3. Originator SRGB TLV 4.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:
0 1 2 3 0 1 2 3
skipping to change at page 8, line 47 skipping to change at page 8, line 52
SRGB field MAY appear multiple times. SRGB field MAY appear multiple times.
The Originator SRGB TLV contains the SRGB of the router originating The Originator SRGB TLV contains the SRGB of the router originating
the prefix to which the BGP Prefix SID is attached and MUST be kept the prefix to which the BGP Prefix SID is attached and MUST be kept
in the Prefix-SID Attribute unchanged during the propagation of the in the Prefix-SID Attribute unchanged during the propagation of the
BGP update. 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 Segment end. It is used to build SRTE policies when different Prefix Segment end. It is used to build SRTE policies when different
SRGB's are used in the fabric SRGB's are used in the fabric
([I-D.filsfils-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 on Prefix-SID attribute attached
to prefixes of SAFI 4 (labeled unicast, [RFC3107]). to prefixes of SAFI 4 (labeled unicast, [RFC3107]).
5. Receiving BGP-Prefix-SID Attribute 5. 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, SHOULD
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.
5.1. MPLS Dataplane: Labeled Unicast 5.1. MPLS Dataplane: Labeled Unicast
The Prefix-SID attribute MUST contain the Label-Index TLV and MAY A Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC3107]) session
contain the Originator SRGB. A BGP Prefix-SID attribute received type is required.
without a Label-Index TLV MUST be considered as "unacceptable" by the
receiving speaker.
A BGP speaker may be locally configured with an SRGB=[GB_S, GB_E]. A BGP speaker may be locally configured with an SRGB=[GB_S, GB_E].
The preferred method for deriving the SRGB is a matter of local The preferred method for deriving the SRGB is a matter of local
router configuration. router configuration.
Given a label index L_I, we call L = L_I + GB_S as the derived label. Given a label index L_I, we call L = L_I + GB_S as the derived label.
A BGP Prefix-SID attribute is called "unacceptable" for a speaker M A BGP Prefix-SID attribute is called "unacceptable" for a speaker M
if the derived label value L lies outside the SRGB configured on M. if the derived label value L lies outside the SRGB configured on M.
Otherwise the Label Index attribute is called "acceptable" to speaker Otherwise the Label Index attribute is called "acceptable" to speaker
M. M.
skipping to change at page 9, line 41 skipping to change at page 9, line 42
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
router originating the prefix. router originating the prefix.
The Prefix-SID attribute MUST contain the Label-Index TLV and MAY The 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.
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 SHOULD 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 any
error, a BGP speaker MUST resort to the error handling rules error, a BGP speaker MUST resort to the error handling rules
specified in Section 7. A BGP speaker MAY log an error for further specified in Section 7. 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, for the purpose of label unacceptable BGP Prefix-SID attribute or when a BGP speaker receives
allocation, it SHOULD treat the path as if it came without a Prefix- a path from a neighbor with a BGP-Prefix-SID attribute but is unable
SID attribute. A BGP speaker MAY choose to assign a local (also to process it (it does not have the capability or local policy
called dynamic) label (non-SRGB) for such a prefix. A BGP speaker disables the capability), it MUST treat the path as if it came
MAY log an error for further analysis. without a Prefix-SID attribute. For the purposes of local label
allocation, a BGP speaker MUST assign a local (also called dynamic)
label (non-SRGB) for such a prefix as per classic Multiprotocol BGP
labeled IPv4/IPv6 Unicast ([RFC3107]) operation. A BGP speaker MAY
log an error for further analysis.
A BGP speaker receiving a prefix with a Prefix-SID attribute and a The outgoing label is always programmed as per classic Multiprotocol
label NLRI field of implicit-null from a neighbor MUST adhere to BGP labeled IPv4/IPv6 Unicast (RFC3107 [RFC3107]) operation.
standard behavior and program its MPLS dataplane to pop the top label
when forwarding traffic to the prefix. The label NLRI defines the Specifically, a BGP speaker receiving a prefix with a Prefix-SID
outbound label that MUST be used by the receiving node. The Label attribute and a label NLRI field of implicit-null from a neighbor
Index gives a hint to the receiving node on which local/incoming MUST adhere to standard behavior and program its MPLS dataplane to
label the BGP speaker SHOULD use. pop the top label when forwarding traffic to the prefix. The label
NLRI defines the outbound label that MUST be used by the receiving
node. The Label Index gives a hint to the receiving node on which
local/incoming label the BGP speaker SHOULD use.
5.2. IPv6 Dataplane 5.2. IPv6 Dataplane
When a SR IPv6 BGP speaker receives a IPv6 Unicast BGP Update with a When a SR IPv6 BGP speaker receives a IPv6 Unicast BGP Update with a
prefix having the BGP Prefix SID attribute attached, it checks prefix having the BGP Prefix SID attribute attached, it checks
whether the IPv6 SID TLV is present and if the S-flag is set. If the whether the IPv6 SID TLV is present and if the S-flag is set. If the
IPv6 SID TLV is not present or if the S-flag is not set, then the IPv6 SID TLV is present and if the S-flag is not set, then the
Prefix-SID attribute MUST be considered as "unacceptable" by the Prefix-SID attribute MUST be considered as "unacceptable" by the
receiving speaker. receiving speaker.
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 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, SHOULD
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.
skipping to change at page 10, line 40 skipping to change at page 10, line 48
6. Announcing BGP-Prefix-SID Attribute 6. 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) [RFC3107]or to IPv6 prefixes [RFC4760]. In order to (IPv4/IPv6) [RFC3107]or to IPv6 prefixes [RFC4760]. In order to
prevent distribution of the BGP Prefix-SID attribute beyond its prevent distribution of the BGP Prefix-SID attribute beyond its
intended scope of applicability, attribute filtering MAY be deployed. intended scope of applicability, attribute filtering MAY be deployed.
6.1. MPLS Dataplane: Labeled Unicast 6.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 Prefix-SID
attribute when it advertises the prefix to its neighbors. The value attribute when it advertises the prefix to its neighbors via
of the Label-Index in the Label-Index TLV is determined by Multiprotocol BGP labeled IPv4/IPv6 Unicast ([RFC3107])The value 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 Prefix-SID attribute MAY optionally
announce Originator SRGB TLV along with the mandatory Label-Index announce Originator SRGB TLV along with the mandatory Label-Index
TLV. The content of the Originator SRGB TLV is determined by the TLV. The content of the Originator SRGB TLV is determined by the
configuration. 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 A BGP speaker that advertises a path received from one of its
neighbors SHOULD advertise the Prefix-SID received with the path neighbors SHOULD advertise the Prefix-SID received with the path
without modification regardless of whether the Prefix-SID was without modification regardless of whether the Prefix-SID was
acceptable. If the path did not come with a Prefix-SID attribute, 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 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 so. The content of the TLVs present in the Prefix-SID is determined
by the configuration. by the configuration.
In all cases, the label field of the NLRI ([RFC3107], [RFC4364]) MUST In all cases, the label field of the advertised NLRI ([RFC3107],
be set to the local/incoming label programmed in the MPLS dataplane [RFC4364]) MUST be set to the local/incoming label programmed in the
for the given prefix. If the prefix is associated with one of the MPLS dataplane for the given advertised prefix. If the prefix is
BGP speakers interfaces, this label is the usual MPLS label (such as associated with one of the BGP speakers interfaces, this label is the
the implicit or explicit NULL label). usual MPLS label (such as the implicit or explicit NULL label).
6.2. IPv6 Dataplane 6.2. IPv6 Dataplane
A BGP speaker that originates a prefix attaches the Prefix-SID A BGP speaker that originates a prefix attaches the Prefix-SID
attribute when it advertises the prefix to its neighbors. The IPv6 attribute when it advertises the prefix to its neighbors. The IPv6
SID TLV MUST be present and the S-flag MUST be set. SID TLV MUST be present and the S-flag MUST be set.
A BGP speaker that advertises a path received from one of its A BGP speaker that advertises a path received from one of its
neighbors SHOULD advertise the Prefix-SID received with the path neighbors SHOULD advertise the Prefix-SID received with the path
without modification regardless of whether the Prefix-SID was without modification regardless of whether the Prefix-SID was
skipping to change at page 12, line 12 skipping to change at page 12, line 20
When a BGP speaker receives an unacceptable Prefix-SID attribute, it When a BGP speaker receives an unacceptable Prefix-SID attribute, it
MAY log an error for further analysis. MAY log an error for further analysis.
8. IANA Considerations 8. IANA Considerations
This document defines a new BGP path attribute known as the BGP This document defines a new BGP path attribute known as the BGP
Prefix-SID attribute. This document requests IANA to assign a new Prefix-SID attribute. This document requests IANA to assign a new
attribute code type (suggested value: 40) for BGP the Prefix-SID attribute code type (suggested value: 40) for BGP the Prefix-SID
attribute from the BGP Path Attributes registry. attribute from the BGP Path Attributes registry.
This document defines two new TLVs for BGP Prefix-SID attribute. This document defines 3 new TLVs for BGP Prefix-SID attribute. These
These TLVs need to be registered with IANA. We request IANA to TLVs need to be registered with IANA. We request IANA to create a
create a new registry for BGP Prefix-SID Attribute TLVs as follows: new 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- Prefix SID attribute Types" Reference: draft-ietf-idr-bgp-prefix-
sid-00 Registration Procedure(s): Values 1-254 First Come, First sid-00 Registration Procedure(s): Values 1-254 First Come, First
Served, Value 0 and 255 reserved Served, Value 0 and 255 reserved
Value Type Reference Value Type Reference
0 Reserved draft-ietf-idr-bgp-prefix-sid-00 0 Reserved draft-ietf-idr-bgp-prefix-sid-00
1 Label-Index draft-ietf-idr-bgp-prefix-sid-00 1 Label-Index draft-ietf-idr-bgp-prefix-sid-00
2 IPv6 SID draft-ietf-idr-bgp-prefix-sid-00 2 IPv6 SID draft-ietf-idr-bgp-prefix-sid-00
skipping to change at page 13, line 26 skipping to change at page 13, line 35
2006, <http://www.rfc-editor.org/info/rfc4364>. 2006, <http://www.rfc-editor.org/info/rfc4364>.
[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,
<http://www.rfc-editor.org/info/rfc7606>. <http://www.rfc-editor.org/info/rfc7606>.
12.2. Informative References 12.2. Informative References
[I-D.filsfils-spring-segment-routing-central-epe] [I-D.filsfils-spring-segment-routing-central-epe]
Filsfils, C., Previdi, S., Patel, K., shaw@fb.com, s., Filsfils, C., Previdi, S., Patel, K., Shaw, S., Ginsburg,
Ginsburg, D., and D. Afanasiev, "Segment Routing D., and D. Afanasiev, "Segment Routing Centralized Egress
Centralized Egress Peer Engineering", draft-filsfils- Peer Engineering", draft-filsfils-spring-segment-routing-
spring-segment-routing-central-epe-04 (work in progress), central-epe-05 (work in progress), August 2015.
July 2015.
[I-D.filsfils-spring-segment-routing-msdc]
Filsfils, C., Previdi, S., Mitchell, J., Lapukhov, P.,
Gaya, G., Afanasiev, D., Laberge, T., Nkposong, E.,
Nanduri, M., Uttaro, J., and S. Ray, "BGP-Prefix Segment
in large-scale data centers", draft-filsfils-spring-
segment-routing-msdc-03 (work in progress), July 2015.
[I-D.ietf-idr-bgpls-segment-routing-epe] [I-D.ietf-idr-bgpls-segment-routing-epe]
Previdi, S., Filsfils, C., Ray, S., Patel, K., Dong, J., Previdi, S., Filsfils, C., Ray, S., Patel, K., Dong, J.,
and M. Chen, "Segment Routing Egress Peer Engineering BGP- and M. Chen, "Segment Routing Egress Peer Engineering BGP-
LS Extensions", draft-ietf-idr-bgpls-segment-routing- LS Extensions", draft-ietf-idr-bgpls-segment-routing-
epe-00 (work in progress), June 2015. epe-00 (work in progress), June 2015.
[I-D.ietf-spring-segment-routing] [I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Decraene, B., Litkowski, S., Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
and r. rjs@rob.sh, "Segment Routing Architecture", draft- and r. rjs@rob.sh, "Segment Routing Architecture", draft-
ietf-spring-segment-routing-04 (work in progress), July ietf-spring-segment-routing-05 (work in progress),
2015. September 2015.
[I-D.ietf-spring-segment-routing-msdc]
Filsfils, C., Previdi, S., Mitchell, J., and P. Lapukhov,
"BGP-Prefix Segment in large-scale data centers", draft-
ietf-spring-segment-routing-msdc-00 (work in progress),
October 2015.
[I-D.previdi-6man-segment-routing-header] [I-D.previdi-6man-segment-routing-header]
Previdi, S., Filsfils, C., Field, B., Leung, I., Vyncke, Previdi, S., Filsfils, C., Field, B., Leung, I., Linkova,
E., and D. Lebrun, "IPv6 Segment Routing Header (SRH)", J., Kosugi, T., Vyncke, E., and D. Lebrun, "IPv6 Segment
draft-previdi-6man-segment-routing-header-07 (work in Routing Header (SRH)", draft-previdi-6man-segment-routing-
progress), July 2015. header-08 (work in progress), October 2015.
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760, "Multiprotocol Extensions for BGP-4", RFC 4760,
DOI 10.17487/RFC4760, January 2007, DOI 10.17487/RFC4760, January 2007,
<http://www.rfc-editor.org/info/rfc4760>. <http://www.rfc-editor.org/info/rfc4760>.
Authors' Addresses Authors' Addresses
Keyur Patel
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95124 95134
USA
Email: keyupate@cisco.com
Stefano Previdi Stefano Previdi
Cisco Systems Cisco Systems
Via Del Serafico, 200 Via Del Serafico, 200
Rome 00142 Rome 00142
Italy Italy
Email: sprevidi@cisco.com Email: sprevidi@cisco.com
Clarence Filsfils Clarence Filsfils
Cisco Systems Cisco Systems
Brussels Brussels
Belgium Belgium
Email: cfilsfils@cisco.com Email: cfilsfils@cisco.com
Acee Lindem
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95124 95134
USA
Email: acee@cisco.com
Keyur Patel
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95124 95134
USA
Email: keyupate@cisco.com
Arjun Sreekantiah Arjun Sreekantiah
Cisco Systems Cisco Systems
170 W. Tasman Drive 170 W. Tasman Drive
San Jose, CA 95124 95134 San Jose, CA 95124 95134
USA USA
Email: asreekan@cisco.com Email: asreekan@cisco.com
Saikat Ray Saikat Ray
Unaffiliated Unaffiliated
Email: raysaikat@gmail.com Email: raysaikat@gmail.com
Hannes Gredler Hannes Gredler
Juniper Networks Juniper Networks
Email: hannes@juniper.net Email: hannes@juniper.net
 End of changes. 32 change blocks. 
95 lines changed or deleted 125 lines changed or added

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