draft-ietf-idr-bgp-prefix-sid-12.txt   draft-ietf-idr-bgp-prefix-sid-13.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: August 8, 2018 Cisco Systems Expires: August 9, 2018 Cisco Systems
A. Sreekantiah A. Sreekantiah
H. Gredler H. Gredler
RtBrick Inc. RtBrick Inc.
February 4, 2018 February 5, 2018
Segment Routing Prefix SID extensions for BGP Segment Routing Prefix SID extensions for BGP
draft-ietf-idr-bgp-prefix-sid-12 draft-ietf-idr-bgp-prefix-sid-13
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 an 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.
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 August 8, 2018. This Internet-Draft will expire on August 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 4, line 22 skipping to change at page 4, line 22
o A BGP Prefix-SID MAY be attached to a prefix. In addition, each o A BGP Prefix-SID MAY be attached to a prefix. In addition, each
prefix will likely have a different AS_PATH attribute. This prefix will likely have a different AS_PATH attribute. This
implies that each prefix is advertised individually, reducing the implies that each prefix is advertised individually, reducing the
ability to pack BGP advertisements (when sharing common ability to pack BGP advertisements (when sharing common
attributes). attributes).
2. BGP-Prefix-SID 2. BGP-Prefix-SID
The BGP Prefix-SID advertised for BGP prefix P indicates that the The BGP Prefix-SID advertised for BGP prefix P indicates that the
segment routed path should be used (as described below) if the BGP segment routed path should be used (as described below) if the BGP
best path selects the corresponding NLRI. best path selects the corresponding Network Layer Reachability
Information (NLRI).
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 label index, L_I, to a The operator assigns a globally unique label index, L_I, to a
locally sourced prefix of a BGP speaker N which is advertised to locally sourced prefix of a BGP speaker N which is advertised to
all other BGP speakers in the SR domain. all other BGP speakers in the SR domain.
skipping to change at page 6, line 19 skipping to change at page 6, line 22
o IPv6 SID TLV o IPv6 SID TLV
o Originator SRGB TLV o Originator SRGB TLV
The Label-Index and Originator SRGB TLVs are used only when SR is The Label-Index and Originator SRGB TLVs are used only when SR is
applied to the MPLS dataplane. applied to the MPLS dataplane.
The IPv6 SID TLV is used only when SR is applied to the IPv6 The IPv6 SID TLV is used only when SR is applied to the IPv6
dataplane. dataplane.
For future extendibility, unknown TLVs MUST be ignored and propagated For future extensibility, unknown TLVs MUST be ignored and propagated
unmodified. unmodified.
3.1. Label-Index TLV 3.1. Label-Index TLV
The Label-Index TLV MUST be present in the BGP Prefix-SID attribute The Label-Index TLV MUST be present in the BGP Prefix-SID attribute
attached to Labeled IPv4/IPv6 unicast prefixes ([RFC8277]). It MUST attached to Labeled IPv4/IPv6 unicast prefixes ([RFC8277]). It MUST
be ignored when received for other BGP AFI/SAFI combinations. The be ignored when received for other BGP AFI/SAFI combinations. The
Label-Index TLV has the following format: Label-Index TLV has the following format:
0 1 2 3 0 1 2 3
skipping to change at page 9, line 32 skipping to change at page 9, line 32
be ignored when received for other BGP AFI/SAFI combinations. Since be ignored when received for other BGP AFI/SAFI combinations. Since
the Label-Index TLV is required for IPv4/IPv6 prefix applicability, the Label-Index TLV is required for IPv4/IPv6 prefix applicability,
the originator SRGB will be ignored if it is not specified consistent the originator SRGB will be ignored if it is not specified consistent
with Section 6. with Section 6.
4. Receiving BGP Prefix-SID Attribute 4. Receiving BGP Prefix-SID Attribute
A BGP speaker receiving a BGP Prefix-SID attribute from an EBGP A BGP speaker receiving a BGP Prefix-SID attribute from an EBGP
neighbor residing outside the boundaries of the SR domain MUST 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 SHOULD log an error for
analysis when discarding an attribute. further 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.
skipping to change at page 10, line 18 skipping to change at page 10, line 18
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 an 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 SHOULD log an error for
analysis. further 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 BGP 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
log an error for further analysis. SHOULD 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]) operation. Specifically, a BGP labeled IPv4/IPv6 Unicast ([RFC8277]) operation. Specifically, a
BGP speaker receiving a prefix with a BGP Prefix-SID attribute and a BGP speaker receiving a prefix with a BGP Prefix-SID attribute and a
label NLRI field of Implicit NULL from a neighbor MUST adhere to label NLRI field of Implicit NULL from a neighbor MUST adhere to
standard behavior and program its MPLS dataplane to pop the top label standard behavior and program its MPLS dataplane to pop the top label
when forwarding traffic to the prefix. The label NLRI defines the when forwarding traffic to the prefix. The label NLRI defines the
outbound label that MUST be used by the receiving node. outbound label that MUST be used by the receiving node.
The label index provides the receiving BGP speaker with guidance as The label index provides the receiving BGP speaker with guidance as
skipping to change at page 10, line 52 skipping to change at page 10, line 52
4.2. IPv6 Dataplane 4.2. IPv6 Dataplane
When an SR IPv6 BGP speaker receives an IPv6 Unicast BGP Update with When an SR IPv6 BGP speaker receives an IPv6 Unicast BGP Update with
a 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 and chosen as the whether the IPv6 SID TLV is present. If present and chosen as the
best path, the prefix is installed into the Segment Routing IPv6 best path, the prefix is installed into the Segment Routing IPv6
dataplane as described in [I-D.ietf-spring-segment-routing]. dataplane as described in [I-D.ietf-spring-segment-routing].
The Label-Index and Originator SRGB TLVs MUST be ignored on The Label-Index and Originator SRGB TLVs MUST be ignored on
reception. For future extendibility, no TLVs are required for the reception. For future extensibility, no TLVs are required for the
BGP IPv6 unicast address family. However, a BGP Prefix-SID attribute BGP IPv6 unicast address family. However, a BGP Prefix-SID attribute
corresponding to the BGP IPv6 address family without an IPv6 SID TLV corresponding to the BGP IPv6 address family without an IPv6 SID TLV
MUST be ignored. MUST be ignored.
5. Advertising BGP Prefix-SID Attribute 5. Advertising 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 unicast prefixes [RFC4760]. In (IPv4/IPv6) [RFC8277] or to IPv6 unicast prefixes [RFC4760]. In
order to prevent distribution of the BGP Prefix-SID attribute beyond order to prevent distribution of the BGP Prefix-SID attribute beyond
its intended scope of applicability, attribute filtering SHOULD be its intended scope of applicability, attribute filtering SHOULD be
skipping to change at page 12, line 37 skipping to change at page 12, line 37
in this case [RFC7606]. When withdrawing the prefix, a BGP speaker in this case [RFC7606]. When withdrawing the prefix, a BGP speaker
SHOULD log an error for further analysis. SHOULD log an error for further analysis.
Consistent with [RFC7606], only the first occurrence of the BGP Consistent with [RFC7606], only the first occurrence of the BGP
Prefix-SID attribute will be considered and subsequent occurrences Prefix-SID attribute will be considered and subsequent occurrences
will be discarded. Similarly, only the first occurrence of a BGP will be discarded. Similarly, only the first occurrence of a BGP
Prefix-SID attribute TLV of a given TLV type will be considered Prefix-SID attribute TLV of a given TLV type will be considered
unless the specification of that TLV type allows for multiple unless the specification of that TLV type allows for multiple
occurrences. occurrences.
For future extendibility, unknown TLVs MUST be ignored and propagated For future extensibility, unknown TLVs MUST be ignored and propagated
unmodified. unmodified.
7. IANA Considerations 7. IANA Considerations
This document defines a BGP path attribute known as the BGP Prefix- This document defines a BGP path attribute known as the BGP Prefix-
SID attribute. This document requests IANA to assign an attribute SID attribute. This document requests IANA to assign an attribute
code type (suggested value: 40) to the BGP Prefix-SID attribute from code type (suggested value: 40) to the BGP Prefix-SID attribute from
the BGP Path Attributes registry. the BGP Path Attributes registry.
Currently, IANA temporarily assigned the following: Currently, IANA temporarily assigned the following:
skipping to change at page 14, line 48 skipping to change at page 14, line 48
The authors would like to thank Satya Mohanty for his contribution to The authors would like to thank Satya Mohanty for his contribution to
this document. this document.
The authors would like to thank Alvaro Retana for substantive The authors would like to thank Alvaro Retana for substantive
comments as part of the Routing AD review. comments as part of the Routing AD review.
The authors would like to thank Shyam Sethuram for comments and The authors would like to thank Shyam Sethuram for comments and
discussion of TLV processing and validation. discussion of TLV processing and validation.
The authors would like to thank Peter Yee and Tony Przygienda for The authors would like to thank Peter Yee, Tony Przygienda, Mirja
IETF last call directorate reviews. Kuehlewind, and Alexey Melnikov for IETF last call directorate and
IESG reviews.
12. References 12. References
12.1. Normative References 12.1. Normative References
[I-D.ietf-spring-segment-routing] [I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B.,
Litkowski, S., and R. Shakir, "Segment Routing Litkowski, S., and R. Shakir, "Segment Routing
Architecture", draft-ietf-spring-segment-routing-15 (work Architecture", draft-ietf-spring-segment-routing-15 (work
in progress), January 2018. in progress), January 2018.
 End of changes. 12 change blocks. 
16 lines changed or deleted 18 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/