| rfc8669xml2.original.xml | rfc8669.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <!-- One method to get references from the online citation libraries. | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="8669" | |||
| There has to be one entity for each item to be referenced. | category="std" consensus="true" submissionType="IETF" | |||
| An alternate method (rfc include) is described in the references. --> | ipr="trust200902" docName="draft-ietf-idr-bgp-prefix-sid-27" obsoletes="" u | |||
| ]> | pdates="" xml:lang="en" sortRefs="true" symRefs="true" tocInclude="true" version | |||
| <?rfc comments="yes"?> | ="3"> | |||
| <?rfc compact="no"?> | ||||
| <?rfc inline="yes"?> | ||||
| <?rfc sortrefs="yes"?> | ||||
| <?rfc subcompact="no"?> | ||||
| <?rfc symrefs="yes"?> | ||||
| <?rfc toc="yes"?> | ||||
| <?rfc tocdepth="5"?> | ||||
| <?rfc tocindent="yes"?> | ||||
| <?rfc tocompact="yes"?> | ||||
| <rfc category="std" docName="draft-ietf-idr-bgp-prefix-sid-27" | ||||
| ipr="trust200902"> | ||||
| <front> | ||||
| <title abbrev="">Segment Routing Prefix SID extensions for BGP</title> | ||||
| <front> | ||||
| <title abbrev="SR Prefix-SID Extensions for BGP">Segment Routing Prefix | ||||
| Segment Identifier Extensions for BGP</title> | ||||
| <seriesInfo name="RFC" value="8669"/> | ||||
| <author fullname="Stefano Previdi" initials="S." surname="Previdi"> | <author fullname="Stefano Previdi" initials="S." surname="Previdi"> | |||
| <organization>Cisco Systems</organization> | <organization>Huawei Technologies</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city/> | <city/> | |||
| <country>Italy</country> | ||||
| <country>IT</country> | ||||
| <code/> | <code/> | |||
| </postal> | </postal> | |||
| <phone/> | <phone/> | |||
| <email>stefano@previdi.net</email> | <email>stefano@previdi.net</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Clarence Filsfils" initials="C." surname="Filsfils"> | <author fullname="Clarence Filsfils" initials="C." surname="Filsfils"> | |||
| <organization>Cisco Systems</organization> | <organization>Cisco Systems</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city>Brussels</city> | <city>Brussels</city> | |||
| <country>Belgium</country> | <country>Belgium</country> | |||
| <code/> | <code/> | |||
| </postal> | </postal> | |||
| <phone/> | <phone/> | |||
| <email>cfilsfil@cisco.com</email> | ||||
| <email>cfilsfils@cisco.com</email> | ||||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Acee Lindem" initials="A." surname="Lindem" role="editor"> | <author fullname="Acee Lindem" initials="A." surname="Lindem" role="editor"> | |||
| <organization>Cisco Systems</organization> | <organization>Cisco Systems</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>301 Midenhall Way</street> | <street>301 Midenhall Way</street> | |||
| <city>Cary, NC</city> | <city>Cary, NC</city> | |||
| <country>United States of America</country> | ||||
| <country>USA</country> | ||||
| <code>27513</code> | <code>27513</code> | |||
| </postal> | </postal> | |||
| <phone/> | <phone/> | |||
| <email>acee@cisco.com</email> | <email>acee@cisco.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Arjun Sreekantiah" initials="A." surname="Sreekantiah"> | <author fullname="Arjun Sreekantiah" initials="A." surname="Sreekantiah"> | |||
| <address> | <address> | |||
| <email>arjunhrs@gmail.com</email> | <email>arjunhrs@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Hannes Gredler" initials="H." surname="Gredler"> | <author fullname="Hannes Gredler" initials="H." surname="Gredler"> | |||
| <organization>RtBrick Inc.</organization> | <organization>RtBrick Inc.</organization> | |||
| <address> | <address> | |||
| <email>hannes@rtbrick.com</email> | <email>hannes@rtbrick.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date month="December" year="2019"/> | ||||
| <date/> | ||||
| <area>Routing</area> | <area>Routing</area> | |||
| <workgroup>IDR</workgroup> | <workgroup>IDR</workgroup> | |||
| <keyword>SR</keyword> | ||||
| <keyword>MPLS</keyword> | ||||
| <keyword>BGP</keyword> | ||||
| <keyword>Prefix-SID</keyword> | ||||
| <keyword>Label-Index</keyword> | ||||
| <keyword>SRGB</keyword> | ||||
| <abstract> | <abstract> | |||
| <t>Segment Routing (SR) leverages the source routing paradigm. A node | <t>Segment Routing (SR) leverages the source-routing paradigm. A node | |||
| steers a packet through an ordered list of instructions, called | steers a packet through an ordered list of instructions called | |||
| segments. A segment can represent any instruction, topological or | "segments". A segment can represent any instruction, topological or | |||
| service-based. The ingress node prepends an SR header to a packet | service based. The ingress node prepends an SR header to a packet | |||
| containing a set of segment identifiers (SID). Each SID represents | containing a set of segment identifiers (SIDs). Each SID represents a | |||
| a topological or a service-based instruction. Per-flow state is | topological or service-based instruction. Per-flow state is maintained | |||
| maintained only on the ingress node of the SR domain. An SR domain | only on the ingress node of the SR domain. An "SR domain" is defined as a | |||
| is defined as a single administrative domain for global SID assignment.</t | single administrative domain for global SID assignment.</t> | |||
| > | ||||
| <t>This document defines an optional, transitive BGP attribute for | <t>This document defines an optional, transitive BGP attribute for | |||
| announcing BGP Prefix Segment Identifiers (BGP Prefix-SID) | announcing information about BGP Prefix Segment Identifiers (BGP Prefix-SI | |||
| information and the specification for SR-MPLS SIDs.</t> | Ds) | |||
| and the specification for SR-MPLS SIDs.</t> | ||||
| </abstract> | </abstract> | |||
| <note title="Requirements Language"> | ||||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | ||||
| NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | ||||
| "MAY", and "OPTIONAL" in this document are to be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
| when, and only when, they appear in all capitals, as shown here.</t> | ||||
| </note> | ||||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section anchor="intro" title="Introduction"> | <section anchor="intro" numbered="true" toc="default"> | |||
| <t>The Segment Routing (SR) architecture leverages the source routing | <name>Introduction</name> | |||
| paradigm. A segment represents either a topological instruction such as | <t>The Segment Routing (SR) architecture leverages the source-routing | |||
| "go to prefix P following shortest path" or a service instruction. | paradigm. A segment represents either a topological instruction, such as | |||
| "go to prefix P following shortest path", or a service instruction. | ||||
| Other types of segments may be defined in the future.</t> | Other types of segments may be defined in the future.</t> | |||
| <t>A segment is identified through a Segment Identifier (SID). | <t>A segment is identified through a Segment Identifier (SID). | |||
| An SR domain is defined as a single administrative domain for | An "SR domain" is defined as a single administrative domain for | |||
| global SID assignment. It may be comprised of a single Autonomous System ( AS) | global SID assignment. It may be comprised of a single Autonomous System ( AS) | |||
| or multiple ASes under consolidated global SID administration. Typically, the ingress | or multiple ASes under consolidated global SID administration. Typically, the ingress | |||
| node of the SR domain prepends an SR header containing segments | node of the SR domain prepends an SR header containing SIDs to an incoming | |||
| identifiers (SIDs) to an incoming packet.</t> | packet.</t> | |||
| <t>As described in <xref target="RFC8402" format="default"/>, | ||||
| <t>As described in <xref target="I-D.ietf-spring-segment-routing"/>, | when SR is applied to the MPLS data plane (<xref target="RFC8660" format=" | |||
| when SR is applied to the MPLS dataplane (<xref | default"/>), the SID consists of a | |||
| target="I-D.ietf-spring-segment-routing-mpls"/>), the SID consists of a | ||||
| label.</t> | label.</t> | |||
| <t><xref target="RFC8402" format="default"/> also | ||||
| <t><xref target="I-D.ietf-spring-segment-routing"/> also | describes how Segment Routing can be applied to an IPv6 data plane (SRv6) | |||
| describes how segment routing can be applied to an IPv6 dataplane (SRv6) u | using | |||
| sing | ||||
| an IPv6 routing header containing a stack of SR SIDs encoded as | an IPv6 routing header containing a stack of SR SIDs encoded as | |||
| IPv6 addresses <xref target="I-D.ietf-6man-segment-routing-header"/>. | IPv6 addresses <xref target="I-D.ietf-6man-segment-routing-header" format= "default"/>. | |||
| The applicability and support for Segment Routing over IPv6 is beyond the | The applicability and support for Segment Routing over IPv6 is beyond the | |||
| scope of this document.</t> | scope of this document.</t> | |||
| <t>A BGP Prefix Segment is a BGP prefix with a Prefix-SID attached. | ||||
| <t>A BGP-Prefix Segment is a BGP prefix with a Prefix-SID attached. | A BGP Prefix-SID is always a global SID (<xref target="RFC8402" format="de | |||
| A BGP Prefix-SID is always a global SID (<xref | fault"/>) within the SR domain | |||
| target="I-D.ietf-spring-segment-routing"/>) within the SR domain | ||||
| and identifies an instruction to forward | and identifies an instruction to forward | |||
| the packet over the Equal-Cost Multi-Path (ECMP) best-path | the packet over the Equal-Cost Multipath (ECMP) best path | |||
| computed by BGP to the related | computed by BGP to the related | |||
| prefix. The BGP Prefix-SID is the identifier of the BGP prefix segment. | prefix. The BGP Prefix-SID is the identifier of the BGP Prefix Segment. | |||
| In this document, we always refer to the BGP-Prefix segment by the BGP | In this document, we always refer to the BGP Prefix Segment by the BGP | |||
| Prefix-SID.</t> | Prefix-SID.</t> | |||
| <t>This document describes the BGP extensions to signal the BGP | ||||
| <t>This document describes the BGP extension to signal the BGP | ||||
| Prefix-SID. Specifically, this document defines a BGP attribute | Prefix-SID. Specifically, this document defines a BGP attribute | |||
| known as the BGP Prefix-SID attribute and specifies the rules to | known as the "BGP Prefix-SID attribute" and specifies the rules to | |||
| originate, receive, and handle error conditions for the attribute.</t> | originate, receive, and handle error conditions for the attribute.</t> | |||
| <t>The BGP Prefix-SID attribute defined in this document can be attached | <t>The BGP Prefix-SID attribute defined in this document can be attached | |||
| to prefixes from Multiprotocol BGP IPv4/IPv6 Labeled | to prefixes from Multiprotocol BGP IPv4/IPv6 Labeled | |||
| Unicast (<xref target="RFC4760"/>, <xref target="RFC8277"/>). | Unicast (<xref target="RFC4760" format="default"/> <xref target="RFC8277" format="default"/>). | |||
| Usage of the BGP Prefix-SID attribute for other | Usage of the BGP Prefix-SID attribute for other | |||
| Address Family Identifier (AFI)/ Subsequent Address | Address Family Identifier (AFI) / Subsequent Address | |||
| Family Identifier (SAFI) combinations | Family Identifier (SAFI) combinations | |||
| is not defined herein but may be specified in | is not defined herein but may be specified in | |||
| future specifications.</t> | future specifications.</t> | |||
| <t><xref target="RFC8670" format="default"/> describes | ||||
| <t><xref target="I-D.ietf-spring-segment-routing-msdc"/> describes | ||||
| example use cases where the BGP Prefix-SID is used for the above | example use cases where the BGP Prefix-SID is used for the above | |||
| AFI/SAFI combinations.</t> | AFI/SAFI combinations.</t> | |||
| <t>It should be noted that:</t> | ||||
| <t>It should be noted that:<list style="symbols"> | <ul spacing="normal"> | |||
| <t>A BGP Prefix-SID will be global across ASes when the | <li>A BGP Prefix-SID will be global across ASes when the | |||
| interconnected ASes are part of the same SR domain. | interconnected ASes are part of the same SR domain. | |||
| Alternatively, when interconnecting ASes, the ASBRs of each | Alternatively, when interconnecting ASes, 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.</t> | protocol extensions defined in this document.</li> | |||
| <li>A BGP Prefix-SID <bcp14>MAY</bcp14> be attached to a BGP prefix. | ||||
| <t>A BGP Prefix-SID MAY be attached to a BGP prefix. | ||||
| This implies that each prefix is advertised individually, reducing the | This 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).</t> | attributes).</li> | |||
| </list></t> | </ul> | |||
| <t> | ||||
| The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | ||||
| IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
| NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | ||||
| RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
| "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
| be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119" format="default"/> <xref target=" | ||||
| RFC8174" format="default"/> | ||||
| when, and only when, they appear in all capitals, as shown here. | ||||
| </t> | ||||
| </section> | </section> | |||
| <section anchor="MPLSPREFIXSID" numbered="true" toc="default"> | ||||
| <name>MPLS BGP Prefix-SID</name> | ||||
| <t>The BGP Prefix-SID is realized on the MPLS data plane (<xref target="RF | ||||
| C8660" format="default"/>) in the following | ||||
| way:</t> | ||||
| <section anchor="MPLSPREFIXSID" title="MPLS BGP Prefix SID"> | <ul empty="true" spacing="normal"> | |||
| <t>The BGP Prefix-SID is realized on the MPLS dataplane (<xref | ||||
| target="I-D.ietf-spring-segment-routing-mpls"/>) in the following | <li>The operator | |||
| way:<list style="hanging"> | ||||
| <t>The operator | ||||
| assigns a globally unique label index, L_I, to a locally originated | assigns a globally unique label index, L_I, to a locally originated | |||
| prefix of a BGP speaker N which is advertised to all other BGP | prefix of a BGP speaker N, which is advertised to all other BGP | |||
| speakers in the SR domain.</t> | speakers in the SR domain.</li> | |||
| <t>According to <xref target="I-D.ietf-spring-segment-routing"/>, | <li>According to <xref target="RFC8402" format="default"/>, | |||
| each BGP speaker is configured with a label block called the | each BGP speaker is configured with a label block called the | |||
| Segment Routing Global Block (SRGB). While <xref | Segment Routing Global Block (SRGB). While <xref target="RFC8402" fo | |||
| target="I-D.ietf-spring-segment-routing"/> recommends using the | rmat="default"/> recommends using the | |||
| same SRGB across all the nodes within the SR domain, the SRGB of a | same SRGB across all the nodes within the SR domain, the SRGB of a | |||
| node is a local property and could be different on different | node is a local property and could be different on different | |||
| speakers. The drawbacks of the use case where BGP speakers have | speakers. The drawbacks of the use case where BGP speakers have | |||
| different SRGBs are documented in <xref | different SRGBs are documented in <xref target="RFC8402" format="def | |||
| target="I-D.ietf-spring-segment-routing"/> and <xref | ault"/> and <xref target="RFC8670" format="default"/>.</li> | |||
| target="I-D.ietf-spring-segment-routing-msdc"/>.</t> | ||||
| <t>If traffic-engineering within the SR domain is required, each | <li>If traffic engineering within the SR domain is required, each | |||
| node may also be required to advertise topological information and | node may also be required to advertise topological information and | |||
| Peering SIDs for each of its links and peers. This information is | Peer SIDs for each of its links and peers. This information is | |||
| required to perform the explicit path computation and to | required to perform the explicit path computation and to | |||
| express an explicit path as a list of SIDs. The advertisement | express an explicit path as a list of SIDs. The advertisement | |||
| of topological information and peer segments (Peer SIDs) is done | of topological information and peer segments (Peer SIDs) is done | |||
| through <xref target="I-D.ietf-idr-bgpls-segment-routing-epe"/>.</t> | through <xref target="I-D.ietf-idr-bgpls-segment-routing-epe" format ="default"/>.</li> | |||
| <t>If a prefix segment is to be included in an MPLS label stack, | <li>If a prefix segment is to be included in an MPLS label stack, | |||
| e.g., for traffic engineering purposes, the knowledge of the SRGB | e.g., for traffic-engineering purposes, knowledge of the prefix | |||
| of the originator of the prefix is required in order | originator's SRGB is required in order to compute the local label used | |||
| to compute the local label used by the originator.</t> | by the originator.</li> | |||
| <t>This document assumes that BGP-LS is the preferred method for | <li>This document assumes that Border Gateway Protocol - Link State | |||
| (BGP-LS) is the preferred method for a | ||||
| collecting both peer segments (Peer SIDs) and SRGB | collecting both peer segments (Peer SIDs) and SRGB | |||
| information through <xref target="RFC7752"/>, <xref | information through <xref target="RFC7752" format="default"/>, <xref | |||
| target="I-D.ietf-idr-bgpls-segment-routing-epe"/>, and <xref | target="I-D.ietf-idr-bgpls-segment-routing-epe" format="default"/>, and <xref t | |||
| target="I-D.ietf-idr-bgp-ls-segment-routing-ext"/>. However, as an | arget="I-D.ietf-idr-bgp-ls-segment-routing-ext" format="default"/>. 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 SIDs, hence without | without the topology or the peer SIDs and, therefore, without | |||
| applicability for TE, the Originator SRGB TLV of the BGP Prefix-SID | applicability for TE, the Originator SRGB TLV of the BGP Prefix-SID | |||
| attribute is specified in <xref target="ORIGINSRGBTLV"/> of this | attribute is specified in <xref target="ORIGINSRGBTLV" format="defau | |||
| document.</t> | lt"/> of this | |||
| document.</li> | ||||
| <t>A BGP speaker will derive its local MPLS label L from the | <li>A BGP speaker will derive its local MPLS label L from the | |||
| label index L_I and its local SRGB as | label index L_I and its local SRGB as | |||
| described in <xref target="I-D.ietf-spring-segment-routing-mpls"/ | described in <xref target="RFC8660" format="default"/>. The | |||
| >. The | BGP speaker then programs the MPLS label L in its MPLS data plane | |||
| BGP speaker then programs the MPLS label L in its MPLS dataplane | as | |||
| as | ||||
| its incoming/local label for the prefix. | its incoming/local label for the prefix. | |||
| See <xref target="RECMPLSLABEL"/> for more details.</t> | See <xref target="RECMPLSLABEL" format="default"/> for more detai ls.</li> | |||
| <t>The outgoing label for the prefix is found in the | <li>The outgoing label for the prefix is found in the | |||
| Network Layer Reachability Information (NLRI) of the | Network Layer Reachability Information (NLRI) of the | |||
| Multiprotocol BGP IPv4/IPv6 Labeled Unicast prefix advertisement as | Multiprotocol BGP IPv4/IPv6 Labeled Unicast prefix advertisement as | |||
| defined in <xref target="RFC8277"/>. | defined in <xref target="RFC8277" format="default"/>. | |||
| The label index L_I is only used as a hint to derive the local/incom ing | The label index L_I is only used as a hint to derive the local/incom ing | |||
| label.</t> | label.</li> | |||
| <t><xref target="LABELINDEX"/> of this document specifies the | <li> | |||
| <xref target="LABELINDEX" format="default"/> of this document specifie | ||||
| s the | ||||
| Label-Index TLV of the BGP Prefix-SID attribute; this TLV can be | Label-Index TLV of the BGP Prefix-SID attribute; this TLV can be | |||
| used to advertise the label index for a given prefix.</t> | used to advertise the label index for a given prefix.</li> | |||
| </list></t> | </ul> | |||
| </section> | </section> | |||
| <section anchor="PREFIXSIDATTR" numbered="true" toc="default"> | ||||
| <section anchor="PREFIXSIDATTR" title="BGP Prefix-SID Attribute"> | <name>BGP Prefix-SID Attribute</name> | |||
| <t>The BGP Prefix-SID attribute is an optional, transitive BGP path | <t>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 | |||
| <xref target="IANA"/>).</t> | <xref target="IANA" format="default"/>).</t> | |||
| <t>The BGP Prefix-SID attribute is defined here to be a set of elements | <t>The BGP Prefix-SID attribute is defined here to be a set of elements | |||
| encoded as "Type/Length/Value" tuples (i.e., a set of TLVs). All BGP | encoded as "Type/Length/Value" tuples (i.e., a set of TLVs). All BGP | |||
| Prefix-SID attribute TLVs will start with a 1-octet type and a 2-octet | Prefix-SID attribute TLVs will start with a 1-octet type and a 2-octet | |||
| length. The following TLVs are defined in this | length. The following TLVs are defined in this | |||
| document:<list style="symbols"> | document:</t> | |||
| <t>Label-Index TLV</t> | <ul spacing="normal"> | |||
| <li>Label-Index TLV</li> | ||||
| <t>Originator SRGB TLV</t> | <li>Originator SRGB TLV</li> | |||
| </list></t> | </ul> | |||
| <t>The Label-Index and Originator SRGB TLVs are used only when SR is appli ed | <t>The Label-Index and Originator SRGB TLVs are used only when SR is appli ed | |||
| to the MPLS dataplane.</t> | to the MPLS data plane.</t> | |||
| <t>For future extensibility, unknown TLVs <bcp14>MUST</bcp14> be ignored a | ||||
| <t>For future extensibility, unknown TLVs MUST be ignored and propagated | nd propagated | |||
| unmodified.</t> | unmodified.</t> | |||
| <section anchor="LABELINDEX" numbered="true" toc="default"> | ||||
| <section anchor="LABELINDEX" title="Label-Index TLV"> | <name>Label-Index TLV</name> | |||
| <t>The Label-Index TLV MUST be present in the BGP Prefix-SID attribute | <t>The Label-Index TLV <bcp14>MUST</bcp14> be present in the BGP Prefix- | |||
| attached to IPv4/IPv6 Labeled Unicast prefixes (<xref | SID attribute | |||
| target="RFC8277"/>). It MUST be ignored when received for other | attached to IPv4/IPv6 Labeled Unicast prefixes (<xref target="RFC8277" f | |||
| ormat="default"/>). It <bcp14>MUST</bcp14> be ignored when received for other | ||||
| BGP AFI/SAFI combinations. The Label-Index TLV has the | BGP AFI/SAFI combinations. The Label-Index TLV has the | |||
| following format:<figure | following format:</t> | |||
| align="center"> | <artwork align="left" name="" type="" alt=""><![CDATA[ 0 | |||
| <artwork align="left"> 0 1 2 | 1 2 3 | |||
| 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork> | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> | |||
| </figure>where: <list style="symbols"> | <t>where: </t><ul empty="true"><li> | |||
| <t>Type is 1.</t> | <dl newline="false" spacing="normal"> | |||
| <dt>Type:</dt> | ||||
| <t>Length: is 7, the total length in octets of the value portion | <dd>1</dd> | |||
| of the TLV.</t> | <dt>Length:</dt><dd>7, the total length in octets of the value portion | |||
| of the TLV.</dd> | ||||
| <t>RESERVED: 8-bit field. MUST be clear on transmission and MUST be | <dt>RESERVED:</dt><dd>8-bit field. It <bcp14>MUST</bcp14> be clear on | |||
| ignored on reception.</t> | transmission and <bcp14>MUST</bcp14> be | |||
| ignored on reception.</dd> | ||||
| <t>Flags: 16 bits of flags. None are defined by this document. The | <dt>Flags:</dt><dd>16 bits of flags. None are defined by this document | |||
| flag field MUST be clear on transmission and MUST be ignored on | . The | |||
| reception.</t> | Flags field <bcp14>MUST</bcp14> be clear on transmission and <bcp14> | |||
| MUST</bcp14> be ignored on | ||||
| <t>Label Index: 32-bit value representing the index value in the | reception.</dd> | |||
| SRGB space.</t> | <dt>Label Index:</dt><dd>32-bit value representing the index value in | |||
| </list></t> | the | |||
| SRGB space.</dd> | ||||
| </dl></li></ul> | ||||
| </section> | </section> | |||
| <section anchor="ORIGINSRGBTLV" numbered="true" toc="default"> | ||||
| <section anchor="ORIGINSRGBTLV" title="Originator SRGB TLV"> | <name>Originator SRGB TLV</name> | |||
| <t>The Originator SRGB TLV is an optional TLV and has the following | <t>The Originator SRGB TLV is an optional TLV and has the following | |||
| format:<figure align="center"> | format:</t> | |||
| <artwork align="left"> 0 1 2 | <artwork align="left" name="" type="" alt=""><![CDATA[ 0 | |||
| 3 | 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 | Flags | | | Type | Length | Flags | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flags | | | Flags | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SRGB 1 (6 octets) | | | SRGB 1 (6 octets) | | |||
| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SRGB n (6 octets) | | | SRGB n (6 octets) | | |||
| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork> | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> | |||
| </figure>where: <list style="symbols"> | <t>where:</t><ul empty="true"><li> | |||
| <t>Type is 3.</t> | ||||
| <t>Length is the total length in octets of the value portion of | ||||
| the TLV: 2 + (non-zero multiple of 6).</t> | ||||
| <t>Flags: 16 bits of flags. None are defined in this document. | ||||
| Flags MUST be clear on transmission and MUST be ignored on | ||||
| reception.</t> | ||||
| <t>SRGB: 3 octets specifying the first label in the range followed | <dl newline="false" spacing="normal"> | |||
| <dt>Type:</dt><dd>3</dd> | ||||
| <dt>Length:</dt><dd>The total length in octets of the value portion of | ||||
| the TLV: 2 + (non-zero multiple of 6).</dd> | ||||
| <dt>Flags:</dt><dd>16 bits of flags. None are defined in this document | ||||
| . | ||||
| The Flags field <bcp14>MUST</bcp14> be clear on transmission and <bc | ||||
| p14>MUST</bcp14> be ignored on | ||||
| reception.</dd> | ||||
| <dt>SRGB:</dt><dd>3 octets specifying the first label in the range fol | ||||
| lowed | ||||
| by 3 octets specifying the number of labels in the range. Note that | by 3 octets specifying the number of labels in the range. Note that | |||
| the SRGB field MAY appear multiple times. If the SRGB field | the SRGB field <bcp14>MAY</bcp14> 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 | |||
| that are concatenated.</t> | that are concatenated.</dd> | |||
| </list></t> | </dl></li></ul> | |||
| <t>The Originator SRGB TLV contains the SRGB of the node originating | <t>The Originator SRGB TLV contains the SRGB of the node originating | |||
| the prefix to which the BGP Prefix-SID is attached. The Originator | the prefix to which the BGP Prefix-SID is attached. The Originator | |||
| SRGB TLV MUST NOT be changed during the propagation of the BGP | SRGB TLV <bcp14>MUST NOT</bcp14> be changed during the propagation of th | |||
| update. It is used to build segment routing policies | e BGP | |||
| when different SRGBs are used in the fabric, for example (<xref | update. It is used to build SR policies | |||
| target="I-D.ietf-spring-segment-routing-msdc"/>).</t> | when different SRGBs are used in the fabric, for example, <xref target=" | |||
| RFC8670" format="default"/>.</t> | ||||
| <t>Examples of how the receiving routers concatenate the | <t>Examples of how the receiving routers concatenate the | |||
| ranges and build their neighbor's Segment Routing Global Block (SRGB) | ranges and build their neighbor's Segment Routing Global Block (SRGB) | |||
| are included in <xref target="I-D.ietf-spring-segment-routing-mpls"/>) .</t> | are included in <xref target="RFC8660" format="default"/>.</t> | |||
| <t>The Originator SRGB TLV may only appear in a BGP Prefix-SID attribute | <t>The Originator SRGB TLV may only appear in a BGP Prefix-SID attribute | |||
| attached to IPv4/IPv6 Labeled Unicast prefixes (<xref | attached to IPv4/IPv6 Labeled Unicast prefixes (<xref target="RFC8277" f | |||
| target="RFC8277"/>). It MUST be ignored when received for other | ormat="default"/>). It <bcp14>MUST</bcp14> be ignored when received for other | |||
| BGP AFI/SAFI combinations. Since the Label-Index TLV is required | BGP AFI/SAFI combinations. Since the Label-Index TLV is required | |||
| for IPv4/IPv6 prefix applicability, the Originator SRGB TLV will be | for IPv4/IPv6 prefix applicability, the Originator SRGB TLV will be | |||
| ignored if it is not specified consistent with <xref | ignored if it is not specified in a manner consistent with <xref target= | |||
| target="ERRORHANDLING"/>.</t> | "ERRORHANDLING" format="default"/>.</t> | |||
| <t>If a BGP speaker receives a nodeβs SRGB as an attribute of the BGP-LS | <t>If a BGP speaker receives a node's SRGB as an attribute of the BGP-LS | |||
| Node NLRI and the BGP speaker also receives the same nodeβs SRGB | Node NLRI and the BGP speaker also receives the same node's SRGB | |||
| in a BGP Prefix-SID attribute, then the received values should be the | in a BGP Prefix-SID attribute, then the received values should be the | |||
| same. If the values are different, the values advertised in the BGP-LS | same. If the values are different, the values advertised in the BGP-LS | |||
| NLRI SHOULD be preferred and an error should be logged.</t> | NLRI <bcp14>SHOULD</bcp14> be preferred, and an error should be logged. | |||
| </section> | </t> | |||
| </section> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Receiving BGP Prefix-SID Attribute"> | <name>Receiving BGP Prefix-SID Attribute</name> | |||
| <t>A BGP speaker receiving a BGP Prefix-SID attribute from an External BGP (EBGP) | <t>A BGP speaker receiving a BGP Prefix-SID attribute from an External BGP (EBGP) | |||
| neighbor residing outside the boundaries of the SR domain MUST | neighbor residing outside the boundaries of the SR domain <bcp14>MUST</bcp 14> | |||
| 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 SHOULD log an error for further | from the EBGP neighbor. A BGP speaker <bcp14>SHOULD</bcp14> log an error f or further | |||
| analysis when discarding an attribute.</t> | analysis when discarding an attribute.</t> | |||
| <section anchor="RECMPLSLABEL" numbered="true" toc="default"> | ||||
| <section anchor="RECMPLSLABEL" title="MPLS Dataplane: Labeled Unicast"> | <name>MPLS Data Plane: Labeled Unicast</name> | |||
| <t>A BGP session supporting the Multiprotocol BGP labeled IPv4 or IPv6 Un | <t>A BGP session supporting the Multiprotocol BGP Labeled IPv4 or IPv6 U | |||
| icast (<xref | nicast (<xref target="RFC8277" format="default"/>) AFI/SAFI is required.</t> | |||
| target="RFC8277"/>) AFI/SAFI is required.</t> | <t>When the BGP Prefix-SID attribute is attached to a BGP Labeled IPv4 | |||
| or IPv6 | ||||
| <t>When the BGP Prefix-SID attribute is attached to a BGP labeled IPv4 o | Unicast <xref target="RFC8277" format="default"/> AFI/SAFI, it <bcp14> | |||
| r IPv6 | MUST</bcp14> contain the Label-Index TLV | |||
| Unicast <xref target="RFC8277"/> AFI/SAFI, it MUST contain the Label-I | and <bcp14>MAY</bcp14> contain the Originator SRGB TLV. A BGP Prefix- | |||
| ndex TLV | SID attribute received | |||
| and MAY contain the Originator SRGB TLV. A BGP Prefix-SID attribute r | without a Label-Index TLV <bcp14>MUST</bcp14> be considered to be "inv | |||
| eceived | alid" by the | |||
| without a Label-Index TLV MUST be considered as "invalid" by the | ||||
| receiving speaker.</t> | receiving speaker.</t> | |||
| <t>The label index provides guidance to the receiving BGP speaker as to | <t>The label index provides guidance to the receiving BGP speaker as to | |||
| the incoming label that SHOULD be allocated to the prefix.</t> | the incoming label that <bcp14>SHOULD</bcp14> be allocated to the pref | |||
| ix.</t> | ||||
| <t>A BGP speaker may be locally configured with an SRGB=[SRGB_Start, | <t>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.</t> | local node configuration.</t> | |||
| <t>The mechanisms through which a given label-index value is assigned | ||||
| <t>The mechanisms through which a given label index value is assigned | ||||
| to a given prefix are outside the scope of this document.</t> | to a given prefix are outside the scope of this document.</t> | |||
| <t>Given a label index L_I, we refer to (L = L_I + SRGB_Start) as the | <t>Given a label index L_I, we refer to (L = L_I + SRGB_Start) as the | |||
| derived label. A BGP Prefix-SID attribute is designated "conflicting" fo r | derived label. A BGP Prefix-SID attribute is designated "conflicting" fo r | |||
| a speaker M if the derived label value L lies outside the SRGB | a speaker M if the derived label value L lies outside the SRGB | |||
| configured on M. Otherwise the Label-Index TLV is designated | configured on M. Otherwise, the Label-Index TLV is designated | |||
| "acceptable" to speaker M.</t> | "acceptable" to speaker M.</t> | |||
| <t>If multiple different prefixes are received with the same label | <t>If multiple different prefixes are received with the same label | |||
| index, all of the different prefixes MUST have | index, all of the different prefixes <bcp14>MUST</bcp14> have | |||
| their BGP Prefix-SID attribute considered as βconflictingβ.</t> | their BGP Prefix-SID attribute considered to be "conflicting".</t> | |||
| <t>If multiple valid paths for the same prefix are received from | <t>If multiple valid paths for the same prefix are received from | |||
| multiple BGP speakers or, in the case of <xref target="RFC7911"/>, | multiple BGP speakers or, in the case of <xref target="RFC7911" format ="default"/>, | |||
| from the same BGP speaker, and the BGP Prefix-SID attributes do | from the same BGP speaker, and the BGP Prefix-SID attributes do | |||
| not contain the same label index, then the label index from | not contain the same label index, then the label index from | |||
| the best path BGP Prefix-SID attribute SHOULD be chosen with | the best path BGP Prefix-SID attribute <bcp14>SHOULD</bcp14> be chosen | |||
| a notable exception being when <xref target="RFC5004"/> | with | |||
| a notable exception being when <xref target="RFC5004" format="default" | ||||
| /> | ||||
| is being used to dampen route changes.</t> | is being used to dampen route changes.</t> | |||
| <t>When a BGP speaker receives a path from a neighbor with an | <t>When a BGP speaker receives a path from a neighbor with an | |||
| "acceptable" BGP Prefix-SID attribute and that path is selected as | "acceptable" BGP Prefix-SID attribute and that path is selected as | |||
| the best path, it SHOULD program the derived label | the best path, it <bcp14>SHOULD</bcp14> program the derived label | |||
| as the label for the prefix in its local MPLS dataplane.</t> | as the label for the prefix in its local MPLS data plane.</t> | |||
| <t>When a BGP speaker receives a path from a neighbor with an | <t>When a BGP speaker receives a path from a neighbor with an | |||
| "invalid" or "conflicting" BGP Prefix-SID attribute or when a | "invalid" or "conflicting" BGP Prefix-SID attribute, or when a | |||
| BGP speaker receives a path from a neighbor with a BGP Prefix-SID | BGP speaker receives a path from a neighbor with a BGP Prefix-SID | |||
| attribute but is unable to process it (e.g., local policy disables | attribute but is unable to process it (e.g., local policy disables | |||
| the functionality), it MUST ignore the | the functionality), it <bcp14>MUST</bcp14> ignore the | |||
| BGP Prefix-SID attribute. For the purposes of label allocation, a | BGP Prefix-SID attribute. For the purposes of label allocation, a | |||
| BGP speaker MUST assign a local (also called dynamic) label (non-SRGB) | BGP speaker <bcp14>MUST</bcp14> assign a local (also called dynamic) lab el (non-SRGB) | |||
| for such a prefix as per classic Multiprotocol BGP IPv4/IPv6 Labeled | for such a prefix as per classic Multiprotocol BGP IPv4/IPv6 Labeled | |||
| Unicast (<xref target="RFC8277"/>) operation.</t> | Unicast (<xref target="RFC8277" format="default"/>) operation.</t> | |||
| <t>In the case of an "invalid" BGP Prefix-SID attribute, a BGP speaker < | ||||
| <t>In the case of an "invalid" BGP Prefix-SID attribute, a BGP speaker M | bcp14>MUST</bcp14> | |||
| UST | follow the error-handling rules specified in <xref target="ERRORHANDLING | |||
| follow the error handling rules specified in <xref target="ERRORHANDLING | " format="default"/>. | |||
| "/>. | A BGP speaker <bcp14>SHOULD</bcp14> log an error for further analysis. I | |||
| A BGP speaker SHOULD log an error for further analysis. In the case of a | n the case of a | |||
| "conflicting" BGP Prefix-SID attribute, a BGP speaker SHOULD NOT treat i | "conflicting" BGP Prefix-SID attribute, a BGP speaker <bcp14>SHOULD NOT< | |||
| t | /bcp14> treat it | |||
| as error and SHOULD propagate the attribute unchanged. A BGP Speaker SHO | as an error and <bcp14>SHOULD</bcp14> propagate the attribute unchanged. | |||
| ULD | A BGP speaker <bcp14>SHOULD</bcp14> | |||
| log a warning for further analysis, i.e., in the case the conflict is | log a warning for further analysis, i.e., in the case the conflict is | |||
| not due to a label index transition.</t> | not due to a label-index transition.</t> | |||
| <t>When a BGP Prefix-SID attribute changes and transitions from | <t>When a BGP Prefix-SID attribute changes and transitions from | |||
| "conflicting" to "acceptable", the BGP Prefix-SID attributes for othe r | "conflicting" to "acceptable", the BGP Prefix-SID attributes for othe r | |||
| prefixes may also transition to "acceptable" as well. Implementations | prefixes may also transition to "acceptable" as well. Implementations | |||
| SHOULD | <bcp14>SHOULD</bcp14> | |||
| assure all impacted prefixes revert to using the label indices | ensure all impacted prefixes revert to using the label indices | |||
| corresponding to these newly "acceptable" BGP Prefix-SID attributes.< /t> | corresponding to these newly "acceptable" BGP Prefix-SID attributes.< /t> | |||
| <t>The outgoing label is always programmed as per classic | <t>The outgoing label is always programmed as per classic | |||
| Multiprotocol BGP IPv4/IPv6 Labeled Unicast (<xref target="RFC8277"/>) | Multiprotocol BGP IPv4/IPv6 Labeled Unicast (<xref target="RFC8277" form at="default"/>) | |||
| operation. Specifically, a BGP speaker receiving a prefix with a BGP Pre fix-SID | operation. Specifically, a BGP speaker receiving a prefix with a BGP Pre fix-SID | |||
| attribute and a label NLRI field of Implicit NULL | attribute and a label NLRI field of Implicit NULL | |||
| <xref target="RFC3032"/> from a neighbor MUST | <xref target="RFC3032" format="default"/> from a neighbor <bcp14>MUST</b | |||
| adhere to standard behavior and program its MPLS dataplane to pop the | cp14> | |||
| adhere to standard behavior and program its MPLS data plane to pop the | ||||
| top label when forwarding traffic to the prefix. The label NLRI | top label when forwarding traffic to the prefix. The label NLRI | |||
| defines the outbound label that MUST be used by the receiving node.</t> | defines the outbound label that <bcp14>MUST</bcp14> be used by the recei ving node.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Advertising BGP Prefix-SID Attribute"> | <name>Advertising BGP Prefix-SID Attribute</name> | |||
| <t>The BGP Prefix-SID attribute MAY be attached to BGP IPv4/IPv6 Label Uni | <t>The BGP Prefix-SID attribute <bcp14>MAY</bcp14> be attached to BGP IPv4 | |||
| cast prefixes | /IPv6 Labeled Unicast prefixes | |||
| <xref target="RFC8277"/>. In order to prevent distribution of the BGP | <xref target="RFC8277" format="default"/>. In order to prevent distributio | |||
| n of the BGP | ||||
| Prefix-SID attribute beyond its intended scope of applicability, | Prefix-SID attribute beyond its intended scope of applicability, | |||
| attribute filtering SHOULD be deployed to remove the BGP | attribute filtering <bcp14>SHOULD</bcp14> be deployed to remove the BGP | |||
| Prefix-SID attribute at the administrative boundary of the | Prefix-SID attribute at the administrative boundary of the | |||
| segment routing domain.</t> | SR domain.</t> | |||
| <t>A BGP speaker that advertises a path received from one of its | ||||
| <t>A BGP speaker that advertises a path received from one of its | neighbors <bcp14>SHOULD</bcp14> advertise the BGP Prefix-SID received wi | |||
| neighbors SHOULD advertise the BGP Prefix-SID received with the path | th the path | |||
| without modification, as long as the BGP Prefix-SID was acceptable. | without modification as long as the BGP Prefix-SID was acceptable. | |||
| If the path did not come with a BGP Prefix-SID attribute, the | 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. | speaker <bcp14>MAY</bcp14> attach a BGP Prefix-SID to the path if config ured to do so. | |||
| The content of the TLVs present in the BGP Prefix-SID is determined by t he | The content of the TLVs present in the BGP Prefix-SID is determined by t he | |||
| configuration.</t> | configuration.</t> | |||
| <section anchor="ADVMPLSLABEL" numbered="true" toc="default"> | ||||
| <section anchor="ADVMPLSLABEL" title="MPLS Dataplane: Labeled Unicast"> | <name>MPLS Data Plane: Labeled Unicast</name> | |||
| <t>A BGP speaker that originates a prefix attaches the BGP Prefix-SID | <t>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 IPv4/IPv6 Labeled Unicast (<xref | Multiprotocol BGP IPv4/IPv6 Labeled Unicast (<xref target="RFC8277" form | |||
| target="RFC8277"/>). The value of the label index in the Label-Index | at="default"/>). The value of the label index in the Label-Index | |||
| TLV is determined by configuration.</t> | TLV is determined by configuration.</t> | |||
| <t>A BGP speaker that originates a BGP Prefix-SID attribute <bcp14>MAY</ | ||||
| <t>A BGP speaker that originates a BGP Prefix-SID attribute MAY optional | bcp14> optionally | |||
| ly | ||||
| announce the Originator SRGB TLV along with the mandatory Label-Index TL V. | announce the Originator SRGB TLV along with the mandatory Label-Index TL V. | |||
| The content of the Originator SRGB TLV is determined by | The content of the Originator SRGB TLV is determined by | |||
| configuration.</t> | configuration.</t> | |||
| <t>Since the label-index value must be unique within an SR domain, by | ||||
| <t>Since the label index value must be unique within an SR domain, by | default an implementation <bcp14>SHOULD NOT</bcp14> advertise the BGP Pr | |||
| default an implementation SHOULD NOT advertise the BGP Prefix-SID | efix-SID | |||
| attribute outside an Autonomous System unless it is explicitly | attribute outside an AS unless it is explicitly | |||
| configured to do so.</t> | configured to do so.</t> | |||
| <t>In all cases, the Label field of the advertised NLRI (<xref target="R | ||||
| <t>In all cases, the label field of the advertised NLRI (<xref | FC8277" format="default"/> <xref target="RFC4364" format="default"/>) <bcp14>MUS | |||
| target="RFC8277"/>, <xref target="RFC4364"/>) MUST be set to the | T</bcp14> be set to the | |||
| local/incoming label programmed in the MPLS dataplane for the given | local/incoming label programmed in the MPLS data plane for the given | |||
| advertised prefix. If the prefix is associated with one of the BGP | advertised prefix. If the prefix is associated with one of the BGP | |||
| speaker's interfaces, this is the usual MPLS label (such as the | speaker's interfaces, this is the usual MPLS label (such as the | |||
| Implicit or Explicit NULL label | Implicit or Explicit NULL label | |||
| <xref target="RFC3032"/>).</t> | <xref target="RFC3032" format="default"/>).</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="ERRORHANDLING" numbered="true" toc="default"> | ||||
| <name>Error Handling of BGP Prefix-SID Attribute</name> | ||||
| <section anchor="ERRORHANDLING" | <t>When a BGP speaker receives a BGP UPDATE message containing a | |||
| title="Error Handling of BGP Prefix-SID Attribute"> | malformed or invalid BGP Prefix-SID attribute attached to an | |||
| <t>When a BGP Speaker receives a BGP Update message containing a | IPv4/IPv6 Labeled Unicast prefix (<xref target="RFC8277" format="default"/ | |||
| malformed or invalid BGP Prefix-SID attribute attached to a | >), it <bcp14>MUST</bcp14> | |||
| IPv4/IPv6 Labeled Unicast prefix <xref target="RFC8277"/>, it MUST | ignore the received BGP Prefix-SID attribute and not advertise it to | |||
| ignore the received BGP Prefix-SID attributes and not advertise it to | ||||
| other BGP peers. In this context, a malformed BGP Prefix-SID attribute | other BGP peers. In this context, a malformed BGP Prefix-SID attribute | |||
| is one that cannot be parsed due to not meeting the minimum attribute | is one that cannot be parsed due to not meeting the minimum attribute | |||
| length requirement, contains a TLV length that doesn't conform to the | length requirement, containing a TLV length that doesn't conform to the | |||
| length constraints for the TLV, or a contains TLV length that would | length constraints for the TLV, or containing a TLV length that would | |||
| extend beyond the end of the attribute (as defined by the attribute | extend beyond the end of the attribute (as defined by the attribute | |||
| length). | length). | |||
| This is equivalent to the "Attribute discard" | This is equivalent to the "Attribute discard" | |||
| action specified in <xref target="RFC7606"/>. When discarding an | action specified in <xref target="RFC7606" format="default"/>. When discar | |||
| attribute, a BGP speaker SHOULD log an error for further analysis.</t> | ding an | |||
| attribute, a BGP speaker <bcp14>SHOULD</bcp14> log an error for further an | ||||
| <t>As per with <xref target="RFC7606"/>, if the BGP | alysis.</t> | |||
| <t>As per <xref target="RFC7606" format="default"/>, if the BGP | ||||
| Prefix-SID attribute appears more than once in an UPDATE | Prefix-SID attribute appears more than once in an UPDATE | |||
| message, then all the occurrences of the attribute other than the | message, all the occurrences of the attribute other than the | |||
| first one SHALL be discarded and the UPDATE message will continue | first one <bcp14>SHALL</bcp14> be discarded and the UPDATE message will | |||
| continue | ||||
| to be processed. | to be processed. | |||
| Similarly, if a recognized TLV appears more than once in an BGP | Similarly, if a recognized TLV appears more than once in a BGP | |||
| Prefix-SID attribute while the specification only allows for a single | Prefix-SID attribute while the specification only allows for a single | |||
| occurrence, then all the occurrences of the TLV other than the | occurrence, then all the occurrences of the TLV other than the | |||
| first one SHALL be discarded and the Prefix-SID attribute will continue | first one <bcp14>SHALL</bcp14> be discarded and the Prefix-SID attribut e will continue | |||
| to be processed.</t> | to be processed.</t> | |||
| <t>For future extensibility, unknown TLVs <bcp14>MUST</bcp14> be ignored a | ||||
| <t>For future extensibility, unknown TLVs MUST be ignored and | nd | |||
| propagated unmodified.</t> | propagated unmodified.</t> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t>This document defines a BGP path attribute known as the BGP | <t>This document defines a BGP path attribute known as the BGP | |||
| Prefix-SID attribute. This document requests IANA to assign an | Prefix-SID attribute. IANA has assigned | |||
| attribute code type (suggested value: 40) to the BGP Prefix-SID | attribute code type 40 to the BGP Prefix-SID | |||
| attribute from the BGP Path Attributes registry.</t> | attribute from the "BGP Path Attributes" registry.</t> | |||
| <t>IANA temporarily assigned the following: <list> | ||||
| <t>40 BGP Prefix-SID (TEMPORARY - registered 2015-09-30, expires | ||||
| 2018-09-30) [draft-ietf-idr-bgp-prefix-sid]</t> | ||||
| </list></t> | ||||
| <t>This document defines two TLVs for the BGP Prefix-SID attribute. These | <t>This document defines two TLVs for the BGP Prefix-SID attribute. These | |||
| TLVs need to be registered with IANA. We request IANA to create a | TLVs have been registered with IANA. IANA has created a | |||
| registry for BGP Prefix-SID Attribute TLVs as follows:</t> | registry for BGP Prefix-SID Attribute TLVs as follows:</t> | |||
| <t>Under the "Border Gateway Protocol (BGP) Parameters" registry, the new | ||||
| registry titled "BGP | ||||
| Prefix-SID TLV Types" has been created and points to this | ||||
| document as the reference.</t> | ||||
| <t>Registration Procedure(s):</t> | ||||
| <ul empty="true" spacing="compact"> | ||||
| <li>Values 1-254, Expert Review as defined in | ||||
| <xref target="RFC8126" format="default"/></li> <li>Values | ||||
| 0 and 255, Reserved</li></ul> | ||||
| <t>Under "Border Gateway Protocol (BGP) Parameters" registry, "BGP | <table anchor="IANA1" align="left"> | |||
| Prefix-SID TLV Types" Reference: draft-ietf-idr-bgp-prefix-sid | <name>BGP Prefix-SID TLV Types</name> | |||
| Registration Procedure(s): Values 1-254 - Expert Review as defined in | <thead> | |||
| <xref target="RFC8126"/>, Value | <tr> | |||
| 0 and 255 reserved</t> | <th>Value</th> | |||
| <th>Type</th> | ||||
| <th>Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td>0</td> | ||||
| <td>Reserved</td> | ||||
| <td>This document</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1</td> | ||||
| <td>Label-Index</td> | ||||
| <td>This document</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>2</td> | ||||
| <td>Deprecated</td> | ||||
| <td>This document</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>3</td> | ||||
| <td>Originator SRGB</td> | ||||
| <td>This document</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>4-254</td> | ||||
| <td>Unassigned</td> | ||||
| <td></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>255</td> | ||||
| <td>Reserved</td> | ||||
| <td>This document</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <figure align="center"> | <t>The value 2 previously corresponded to the IPv6 SID TLV, which was spec | |||
| <artwork align="left">Value Type Reference | ified | |||
| 0 Reserved this document | in previous versions of this document. It was removed, and use of | |||
| 1 Label-Index this document | the BGP Prefix-SID for Segment Routing over the IPv6 data plane | |||
| 2 Deprecated this document | <xref target="RFC8402" format="default"/> has been deferred to | |||
| 3 Originator SRGB this document | ||||
| 4-254 Unassigned | ||||
| 255 Reserved this document</artwork> | ||||
| </figure> | ||||
| <t>The value 2 previously corresponded to the IPv6 SID TLV which was speci | ||||
| fied | ||||
| in previous versions of this document. It was removed and usage of | ||||
| the BGP Prefix-SID for Segment Routing over the IPv6 dataplane | ||||
| <xref target="I-D.ietf-spring-segment-routing"/> has been deferred to | ||||
| future specifications.</t> | future specifications.</t> | |||
| <t>IANA has also created the "BGP Prefix-SID Label-Index TLV Flags" | ||||
| <t>This document also requests creation of the "BGP Prefix-SID Label-Index | ||||
| TLV Flags" | ||||
| registry under the "Border Gateway Protocol (BGP) Parameters" registry , | registry under the "Border Gateway Protocol (BGP) Parameters" registry , | |||
| Reference: draft-ietf-idr-bgp-prefix-sid. Initially, this 16-bit flags | with a reference to this document. Initially, this 16-bit flags registr | |||
| registry will be | y is | |||
| empty. The registration policy for flag bits will Expert Review <xref t | empty. The registration policy for flag bits is Expert Review <xref tar | |||
| arget="RFC8126"/> | get="RFC8126" format="default"/>, | |||
| consistent with the BGP Prefix-SID TLV Types registry.</t> | consistent with the "BGP Prefix-SID TLV Types" registry.</t> | |||
| <t>Finally, this document requests creation of the "BGP Prefix-SID Origina | <t>Finally, IANA has created the "BGP Prefix-SID Originator SRGB TLV Flags | |||
| tor SRGB TLV Flags" | " | |||
| registry under the "Border Gateway Protocol (BGP) Parameters" registry , | registry under the "Border Gateway Protocol (BGP) Parameters" registry , | |||
| Reference: draft-ietf-idr-bgp-prefix-sid. Initially, this 16-bit flags | with a reference to this document. Initially, this 16-bit flags registr | |||
| registry will be | y is | |||
| empty. The registration policy for flag bits will Expert Review <xref t | empty. The registration policy for flag bits is Expert Review <xref tar | |||
| arget="RFC8126"/> | get="RFC8126" format="default"/> | |||
| consistent with the BGP Prefix-SID TLV Types registry.</t> | consistent with the BGP Prefix-SID TLV Types registry.</t> | |||
| <t>The designated experts must be good and faithful stewards of the above | ||||
| <t>The designated experts must be good and faithful stewards of the above | registries, | |||
| registries, | ensuring that each request is legitimate and corresponds to a viable use | |||
| assuring that each request is legitimate and corresponds to a viable use | case. Given | |||
| case. Given | ||||
| the limited number of bits in the flags registries and the applicability to a single TLV, | the limited number of bits in the flags registries and the applicability to a single TLV, | |||
| additional scrutiny should be afforded to flag bit allocation requests. In general, no | additional scrutiny should be afforded to requests for flag-bit allocati on. In general, no | |||
| single use case should require more than one flag bit and, should the us e case | single use case should require more than one flag bit and, should the us e case | |||
| require more, alternate encodings using new TLVs should be considered.</ t> | require more, alternate encodings using new TLVs should be considered.</ t> | |||
| </section> | </section> | |||
| <section anchor="MANAGE" numbered="true" toc="default"> | ||||
| <section anchor="MANAGE" title="Manageability Considerations"> | <name>Manageability Considerations</name> | |||
| <t>This document defines a BGP attribute to address use | <t>This document defines a BGP attribute to address use | |||
| cases such as the one described in | cases such as the one described in | |||
| <xref target="I-D.ietf-spring-segment-routing-msdc"/>. | <xref target="RFC8670" format="default"/>. | |||
| It is assumed that advertisement of the BGP Prefix-SID attribute is | It is assumed that advertisement of the BGP Prefix-SID attribute is | |||
| controlled by the operator in order to:<list style="symbols"> | controlled by the operator in order to:</t> | |||
| <t>Prevent undesired origination/advertisement of the BGP Prefix-SID | <ul spacing="normal"> | |||
| attribute. By default, a BGP Prefix-SID attribute SHOULD NOT be | <li>Prevent undesired origination/advertisement of the BGP Prefix-SID | |||
| attribute. By default, a BGP Prefix-SID attribute <bcp14>SHOULD NOT</b | ||||
| cp14> be | ||||
| attached to a prefix and advertised. Hence, BGP Prefix-SID | attached to a prefix and advertised. Hence, BGP Prefix-SID | |||
| advertisement SHOULD require explicit enablement.</t> | Advertisement <bcp14>SHOULD</bcp14> require explicit enablement.</li> | |||
| <li>Prevent any undesired propagation of the BGP Prefix-SID | ||||
| <t>Prevent any undesired propagation of the BGP Prefix-SID | ||||
| attribute. By default, the BGP Prefix-SID is not advertised outside | attribute. By default, the BGP Prefix-SID is not advertised outside | |||
| the boundary of a single SR/administrative domain which may include | the boundary of a single SR/administrative domain that may include | |||
| one or more ASes. The propagation to other ASes MUST be | one or more ASes. The propagation to other ASes <bcp14>MUST</bcp14> be | |||
| explicitly configured.</t> | explicitly configured.</li> | |||
| </list></t> | </ul> | |||
| <t>The deployment model described in <xref target="RFC8670" format="defaul | ||||
| <t>The deployment model described in <xref | t"/> assumes multiple | |||
| target="I-D.ietf-spring-segment-routing-msdc"/> assumes multiple | ASes under a common administrative domain. For this | |||
| Autonomous Systems (ASes) under a common administrative domain. For this | use case, the BGP Prefix-SID Advertisement is applicable to the inter-AS | |||
| use case, the BGP Prefix-SID advertisement is applicable to the inter-AS | ||||
| context, i.e., EBGP, while it is confined to a single | context, i.e., EBGP, while it is confined to a single | |||
| administrative domain.</t> | administrative domain.</t> | |||
| </section> | </section> | |||
| <section anchor="Security" numbered="true" toc="default"> | ||||
| <section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t>This document introduces a BGP attribute (BGP Prefix-SID) which | <t>This document introduces a BGP attribute (BGP Prefix-SID), which | |||
| inherits the security considerations expressed in: <xref | inherits the security considerations expressed in: <xref target="RFC4271" | |||
| target="RFC4271"/>, <xref target="RFC8277"/>, and | format="default"/>, <xref target="RFC8277" format="default"/>, and | |||
| <xref target="I-D.ietf-spring-segment-routing"/>.</t> | <xref target="RFC8402" format="default"/>.</t> | |||
| <t>When advertised using BGPsec as described in <xref target="RFC8205"/>, | <t>When advertised using BGPsec as described in <xref target="RFC8205" for | |||
| mat="default"/>, | ||||
| the BGP Prefix-SID attribute doesn't impose any unique | the BGP Prefix-SID attribute doesn't impose any unique | |||
| security considerations. It should be noted that the BGP Prefix-SID | security considerations. It should be noted that the BGP Prefix-SID | |||
| attribute is not protected by the BGPsec signatures.</t> | attribute is not protected by the BGPsec signatures.</t> | |||
| <t>It should be noted that, | <t>It should be noted that, | |||
| as described in <xref target="MANAGE"/>, this document refers | as described in <xref target="MANAGE" format="default"/>, this document re fers | |||
| to a deployment model where all nodes are under the single administrative domain. | to a deployment model where all nodes are under the single administrative domain. | |||
| In this context, we assume that the operator doesn't want to leak | In this context, we assume that the operator doesn't want to leak | |||
| any information related to internal prefixes and topology outside of the | any information related to internal prefixes and topology outside of the | |||
| administrative domain. | administrative domain. | |||
| The internal information includes the BGP Prefix-SID. In order | The internal information includes the BGP Prefix-SID. In order | |||
| to prevent such leaking, the common BGP mechanisms (filters) are | to prevent such leaking, the common BGP mechanisms (filters) are | |||
| applied at the boundary of the SR/administrative domain. | applied at the boundary of the SR/administrative domain. | |||
| Local BGP attribute filtering policies | Local BGP-attribute-filtering policies | |||
| and mechanisms are not standardized and, consequently, beyond the | and mechanisms are not standardized and, consequently, are beyond the | |||
| scope of this document.</t> | scope of this document.</t> | |||
| <t>To prevent a Denial-of-Service (DoS) or Distributed-Denial-of-Service | <t>To prevent a Denial-of-Service (DoS) or Distributed-Denial-of-Service | |||
| (DDoS) attack due to excessive BGP updates with an invalid or conflicting | (DDoS) attack due to excessive BGP updates with an invalid or conflicting | |||
| BGP Prefix-SID attribute, error log message rate-limiting as well as suppr | BGP Prefix-SID attribute, error log message rate limiting as well as suppr | |||
| ession of | ession of | |||
| duplicate error log messages SHOULD be deployed.</t> | duplicate error log messages <bcp14>SHOULD</bcp14> be deployed.</t> | |||
| <t>Since BGP-LS is the preferred method for advertising SRGB information, | <t>Since BGP-LS is the preferred method for advertising SRGB information, | |||
| the BGP speaker SHOULD log an error if a BGP Prefix-SID attribute | the BGP speaker <bcp14>SHOULD</bcp14> log an error if a BGP Prefix-SID attribute | |||
| is received with SRGB information different from that received as an at tribute of | is received with SRGB information different from that received as an at tribute of | |||
| the same node's BGP-LS Node NLRI.</t> | the same node's BGP-LS Node NLRI.</t> | |||
| </section> | </section> | |||
| </middle> | ||||
| <back> | ||||
| <displayreference target="I-D.ietf-idr-bgpls-segment-routing-epe" | ||||
| to="BGPLS-SR-EPE"/> | ||||
| <displayreference target="I-D.ietf-idr-bgp-ls-segment-routing-ext" | ||||
| to="BGPLS-SR-EXT"/> | ||||
| <section anchor="Contributors" title="Contributors"> | <displayreference target="I-D.ietf-6man-segment-routing-header" | |||
| <figure> | to="IPv6-SRH" /> | |||
| <artwork>Keyur Patel | <references> | |||
| Arrcus, Inc. | <name>References</name> | |||
| US | <references> | |||
| <name>Normative References</name> | ||||
| Email: Keyur@arrcus.com</artwork> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | |||
| </figure> | ence.RFC.2119.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.4271.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.4364.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.4760.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.7606.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.7911.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8126.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8174.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8205.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8277.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.8402.xml"/> | ||||
| <!-- draft-ietf-spring-segment-routing-mpls-22: Companion Document --> | ||||
| <figure> | <reference anchor="RFC8660" target="https://www.rfc-editor.org/info/rfc8660 | |||
| <artwork>Saikat Ray | "> | |||
| Unaffiliated | <front> | |||
| US | <title>Segment Routing with the MPLS Data Plane</title> | |||
| <author initials='A' surname='Bashandy' fullname='Ahmed Bashandy' | ||||
| role="editor"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='C' surname='Filsfils' fullname='Clarence' role="editor"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='S' surname='Previdi' fullname='Stefano Previdi'> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials="B" surname="Decraene" fullname="Bruno Decraene"> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='S' surname='Litkowski' fullname='Stephane Litkowski'> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='R' surname='Shakir' fullname='Rob Shakir'> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month='December' year='2019'/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8660"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8660"/> | ||||
| </reference> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.3032.xml"/> | ||||
| Email: raysaikat@gmail.com</artwork> | <!-- I-D.ietf-spring-segment-routing-msdc: Companion Document --> | |||
| </figure> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference. | |||
| </section> | I-D.ietf-6man-segment-routing-header.xml"/> | |||
| <section anchor="Acknowledgements" title="Acknowledgements"> | <reference anchor='RFC8670' target='https://www.rfc-editor.org/info/rfc8670'> | |||
| <front> | ||||
| <title>BGP Prefix Segment in Large-Scale Data Centers</title> | ||||
| <author initials='C' surname='Filsfils' fullname='Clarence Filsfils' role="edito | ||||
| r"> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='S' surname='Previdi' fullname='Stefano Previdi'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='G' surname='Dawra' fullname='Gaurav Dawra'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='E' surname='Aries' fullname='Ebben Aries'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='P' surname='Lapukhov' fullname='Petr Lapukhov'> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month='December' year='2019' /> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='8670' /> | ||||
| <seriesInfo name='DOI' value='10.17487/RFC8670'/> | ||||
| </reference> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I | ||||
| -D.ietf-idr-bgpls-segment-routing-epe.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I | ||||
| -D.ietf-idr-bgp-ls-segment-routing-ext.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.5004.xml"/> | ||||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
| ence.RFC.7752.xml"/> | ||||
| </references> | ||||
| </references> | ||||
| <section anchor="Acknowledgements" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>The authors would like to thank Satya Mohanty for his contribution | <t>The authors would like to thank Satya Mohanty for his contribution | |||
| to this document.</t> | to this document.</t> | |||
| <t>The authors would like to thank Alvaro Retana for substantive | <t>The authors would like to thank Alvaro Retana for substantive | |||
| comments as part of the Routing AD review.</t> | comments as part of the Routing AD review.</t> | |||
| <t>The authors would like to thank Bruno Decraene for substantive | <t>The authors would like to thank Bruno Decraene for substantive | |||
| comments and suggested text as part of the Routing Directorate | comments and suggested text as part of the Routing Directorate | |||
| review.</t> | review.</t> | |||
| <t>The authors would like to thank Shyam Sethuram for comments and | <t>The authors would like to thank Shyam Sethuram for comments and | |||
| discussion of TLV processing and validation.</t> | discussion of TLV processing and validation.</t> | |||
| <t>The authors would like to thank Robert Raszuk for comments and | <t>The authors would like to thank Robert Raszuk for comments and | |||
| suggestions regarding the MPLS data plane behavior.</t> | suggestions regarding the MPLS data-plane behavior.</t> | |||
| <t>The authors would like to thank Krishna Deevi, | <t>The authors would like to thank Krishna Deevi, | |||
| Juan Alcaide, Howard Yang, and Jakob Heitz for discussions | Juan Alcaide, Howard Yang, and Jakob Heitz for discussions | |||
| on conflicting BGP Prefix-SID label indices and BGP add paths.</t> | on conflicting BGP Prefix-SID label indices and BGP add paths.</t> | |||
| <t>The authors would like to thank Peter Yee, Tony Przygienda, | <t>The authors would like to thank Peter Yee, Tony Przygienda, | |||
| Mirja KΓΌhlewind, Alexey Melnikov, Eric Rescorla, Suresh | Mirja Kuhlewind, Alexey Melnikov, Eric Rescorla, Suresh | |||
| Krishnan, Warren Kumari, Ben Campbell Sue Hares, and Martin | Krishnan, Warren Kumari, Ben Campbell Sue Hares, and Martin | |||
| Vigoureux for IDR Working Group last call, IETF Last Call, | Vigoureux for IDR Working Group last call, IETF Last Call, | |||
| directorate, and IESG reviews.</t> | directorate, and IESG reviews.</t> | |||
| </section> | </section> | |||
| </middle> | <section anchor="Contributors" numbered="false" toc="default"> | |||
| <name>Contributors</name> | ||||
| <back> | <artwork name="" type="" align="left" alt=""><![CDATA[Keyur Patel | |||
| <references title="Normative References"> | Arrcus, Inc. | |||
| <?rfc include="reference.RFC.2119"?> | United States of America | |||
| <?rfc include="reference.RFC.4271"?> | ||||
| <?rfc include="reference.RFC.4364"?> | ||||
| <?rfc include="reference.RFC.4760"?> | ||||
| <?rfc include="reference.RFC.7606"?> | ||||
| <?rfc include="reference.RFC.7911"?> | ||||
| <?rfc include="reference.RFC.8126"?> | ||||
| <?rfc include="reference.RFC.8174"?> | ||||
| <?rfc include="reference.RFC.8205"?> | ||||
| <?rfc include="reference.RFC.8277"?> | ||||
| <?rfc include="reference.I-D.ietf-spring-segment-routing.xml"?> | ||||
| <?rfc include="reference.I-D.ietf-spring-segment-routing-mpls.xml"?> | ||||
| </references> | ||||
| <references title="Informative References"> | ||||
| <?rfc include="reference.RFC.3032"?> | ||||
| <?rfc include="reference.I-D.ietf-spring-segment-routing-msdc.xml"?> | ||||
| <?rfc include="reference.I-D.ietf-idr-bgpls-segment-routing-epe.xml"?> | ||||
| <?rfc include="reference.I-D.ietf-idr-bgp-ls-segment-routing-ext.xml"?> | ||||
| <?rfc include="reference.I-D.ietf-6man-segment-routing-header.xml"?> | ||||
| <?rfc include="reference.RFC.5004"?> | Email: Keyur@arrcus.com]]></artwork> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[Saikat Ray | ||||
| Unaffiliated | ||||
| United States of America | ||||
| <?rfc include="reference.RFC.7752"?> | Email: raysaikat@gmail.com]]></artwork> | |||
| </references> | </section> | |||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 165 change blocks. | ||||
| 474 lines changed or deleted | 535 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||