rfc9514xml2.original.xml | rfc9514.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | ||||
<rfc category="std" docName="draft-ietf-idr-bgpls-srv6-ext-14" | ||||
ipr="trust200902"> | ||||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
<?rfc toc="yes" ?> | ||||
<?rfc symrefs="yes" ?> | ||||
<?rfc sortrefs="yes" ?> | ||||
<?rfc iprnotified="no" ?> | ||||
<?rfc strict="yes" ?> | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | ||||
<!ENTITY zwsp "​"> | ||||
<!ENTITY nbhy "‑"> | ||||
<!ENTITY wj "⁠"> | ||||
]> | ||||
<?rfc compact="yes" ?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" std" consensus="true" docName="draft-ietf-idr-bgpls-srv6-ext-14" number="9514" i pr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs ="true" sortRefs="true" version="3"> | |||
<?rfc subcompact="no" ?> | <!-- xml2rfc v2v3 conversion 3.17.4 --> | |||
<front> | <front> | |||
<title abbrev="BGP-LS Extensions for SRv6">BGP Link State Extensions for | <title abbrev="BGP-LS Extensions for SRv6">Border Gateway Protocol - Link St | |||
SRv6</title> | ate (BGP-LS) Extensions for | |||
Segment Routing over IPv6 (SRv6)</title> | ||||
<seriesInfo name="RFC" value="9514"/> | ||||
<author fullname="Gaurav Dawra" initials="G" surname="Dawra"> | <author fullname="Gaurav Dawra" initials="G" surname="Dawra"> | |||
<organization>LinkedIn</organization> | <organization>LinkedIn</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <street/> | |||
<country>United States of America</country> | ||||
<country>USA</country> | ||||
</postal> | </postal> | |||
<email>gdawra.ietf@gmail.com</email> | <email>gdawra.ietf@gmail.com</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/> | |||
<country>Belgium</country> | <country>Belgium</country> | |||
</postal> | </postal> | |||
<email>cfilsfil@cisco.com</email> | <email>cfilsfil@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Ketan Talaulikar" initials="K" role="editor" surname="Tala | ||||
<author fullname="Ketan Talaulikar" initials="K" role="editor" | ulikar"> | |||
surname="Talaulikar"> | ||||
<organization>Cisco Systems</organization> | <organization>Cisco Systems</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <street/> | |||
<country>India</country> | <country>India</country> | |||
</postal> | </postal> | |||
<email>ketant.ietf@gmail.com</email> | <email>ketant.ietf@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Mach(Guoyi) Chen" initials="M." surname="Chen"> | ||||
<author fullname="Mach Chen" initials="M." surname="Chen"> | ||||
<organization>Huawei</organization> | <organization>Huawei</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <street/> | |||
<country>China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<email>mach.chen@huawei.com</email> | <email>mach.chen@huawei.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Daniel Bernier " initials="D." surname="Bernier"> | <author fullname="Daniel Bernier " initials="D." surname="Bernier"> | |||
<organization>Bell Canada</organization> | <organization>Bell Canada</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <street/> | |||
<country>Canada</country> | <country>Canada</country> | |||
</postal> | </postal> | |||
<email>daniel.bernier@bell.ca</email> | <email>daniel.bernier@bell.ca</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Bruno Decraene" initials="B." surname="Decraene"> | <author fullname="Bruno Decraene" initials="B." surname="Decraene"> | |||
<organization>Orange</organization> | <organization>Orange</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <street/> | |||
<country>France</country> | <country>France</country> | |||
</postal> | </postal> | |||
<email>bruno.decraene@orange.com</email> | <email>bruno.decraene@orange.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2023" month="November"/> | ||||
<date year=""/> | <area>rtg</area> | |||
<workgroup>idr</workgroup> | ||||
<area>Routing</area> | ||||
<workgroup>Inter-Domain Routing</workgroup> | ||||
<keyword>BGP</keyword> | <keyword>BGP</keyword> | |||
<keyword>BGP-LS</keyword> | <keyword>BGP-LS</keyword> | |||
<keyword>Segment Routing</keyword> | <keyword>Segment Routing</keyword> | |||
<keyword>SRv6</keyword> | <keyword>SRv6</keyword> | |||
<abstract> | <abstract> | |||
<t>Segment Routing over IPv6 (SRv6) allows for a flexible definition of | <t>Segment Routing over IPv6 (SRv6) allows for a flexible definition of | |||
end-to-end paths within various topologies by encoding paths as | end-to-end paths within various topologies by encoding paths as | |||
sequences of topological or functional sub-paths, called "segments". | sequences of topological or functional sub-paths called "segments". | |||
These segments are advertised by various protocols such as BGP, IS-IS | These segments are advertised by various protocols such as BGP, IS-IS, | |||
and OSPFv3.</t> | and OSPFv3.</t> | |||
<t>This document defines extensions to BGP Link-state (BGP-LS) to | <t>This document defines extensions to BGP - Link State (BGP-LS) to | |||
advertise SRv6 segments along with their behaviors and other attributes | advertise SRv6 segments along with their behaviors and other attributes | |||
via BGP. The BGP-LS address-family solution for SRv6 described in this | via BGP. The BGP-LS address-family solution for SRv6 described in this | |||
document is similar to BGP-LS for SR for the MPLS data-plane defined in | document is similar to BGP-LS for SR for the MPLS data plane, which is def | |||
a separate document.</t> | ined in | |||
RFC 9085.</t> | ||||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="INTROLSSRV6" title="Introduction"> | <section anchor="INTROLSSRV6" numbered="true" toc="default"> | |||
<t>SRv6 refers to Segment Routing instantiated on the IPv6 data-plane | <name>Introduction</name> | |||
<xref target="RFC8402"/>. An SRv6 Segment is often referred to by its | <t>SRv6 refers to Segment Routing instantiated on the IPv6 data plane | |||
<xref target="RFC8402" format="default"/>. An SRv6 segment is often referr | ||||
ed to by its | ||||
SRv6 Segment Identifier (SID).</t> | SRv6 Segment Identifier (SID).</t> | |||
<t>The network programming paradigm <xref target="RFC8986" format="default | ||||
<t>The network programming paradigm <xref target="RFC8986"/> is central | "/> is central | |||
to SRv6. It describes how different behaviors can be bound to SIDs and | to SRv6. It describes how different behaviors can be bound to SIDs and | |||
how a network program can be expressed as a combination of SIDs.</t> | how a network program can be expressed as a combination of SIDs.</t> | |||
<t>An SRv6-capable node maintains all the SRv6 segments explicitly | <t>An SRv6-capable node maintains all the SRv6 segments explicitly | |||
instantiated locally.</t> | instantiated locally.</t> | |||
<t>The IS-IS and OSPFv3 link-state routing protocols have been extended | <t>The IS-IS and OSPFv3 link-state routing protocols have been extended | |||
to advertise some of these SRv6 SIDs and SRv6-related information <xref | to advertise some of these SRv6 SIDs and SRv6-related information <xref ta | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/>, <xref | rget="RFC9352" format="default"/> <xref target="RFC9513" format="default"/>. Oth | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>. Other SRv6 SIDs may be | er SRv6 SIDs may be | |||
instantiated on a node via other mechanisms for topological or service | instantiated on a node via other mechanisms for topological or service | |||
functionalities.</t> | functionalities.</t> | |||
<t>The advertisement of SR related information along with the topology | <t>The advertisement of SR-related information along with the topology is specif | |||
for the MPLS data-plane instantiation (SR-MPLS) is specified in <xref | ied in <xref target="RFC9085" format="default"/> | |||
target="RFC9085"/> and for the BGP Egress Peer Engineering (EPE) is | for the MPLS data plane instantiation (SR-MPLS) and in <xref target="RFC90 | |||
specified in <xref target="RFC9086"/>. On similar lines, introducing the | 86" format="default"/> for BGP Egress Peer Engineering (EPE). On similar lines, | |||
SRv6 related information in BGP-LS allows consumer applications that | introducing the | |||
SRv6-related information in BGP-LS allows consumer applications that | ||||
require topological visibility to also receive the SRv6 SIDs from nodes | require topological visibility to also receive the SRv6 SIDs from nodes | |||
across an IGP domain or even across Autonomous Systems (AS), as | across an IGP domain or even across Autonomous Systems (ASes) as | |||
required. This allows applications to leverage the SRv6 capabilities for | required. This allows applications to leverage the SRv6 capabilities for | |||
network programming.</t> | network programming.</t> | |||
<t>The identifying key of each link-state object, namely a node, link, | ||||
<t>The identifying key of each Link-State object, namely a node, link, | or prefix, is encoded in the Network Layer Reachability Information | |||
or prefix, is encoded in the Network-Layer Reachability Information | (NLRI), and the properties of the object are encoded in the BGP-LS | |||
(NLRI) and the properties of the object are encoded in the BGP-LS | Attribute <xref target="RFC7752" format="default"/>.</t> | |||
Attribute <xref target="RFC7752"/>.</t> | ||||
<t>This document describes extensions to BGP-LS to advertise the SRv6 | <t>This document describes extensions to BGP-LS to advertise the SRv6 | |||
SIDs and other SRv6 information from all the SRv6 capable nodes in the | SIDs and other SRv6 information from all the SRv6-capable nodes in the | |||
IGP domain when sourced from link-state routing protocols and directly | IGP domain when sourced from link-state routing protocols and directly | |||
from individual SRv6 capable nodes (e.g. when sourced from BGP for | from individual SRv6-capable nodes (e.g., when sourced from BGP for | |||
EPE).</t> | EPE).</t> | |||
<section numbered="true" toc="default"> | ||||
<section title="Requirements Language"> | <name>Requirements Language</name> | |||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <t> | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
when, they appear in all capitals, as shown here.</t> | 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"/> <xref target="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="BGP-LS-SRv6" numbered="true" toc="default"> | ||||
<section anchor="BGP-LS-SRv6" title="BGP-LS Extensions for SRv6"> | <name>BGP-LS Extensions for SRv6</name> | |||
<t>BGP-LS <xref target="RFC7752"/> defines the Node, Link, and Prefix | <t>BGP-LS <xref target="RFC7752" format="default"/> defines the Node, Link | |||
Link-State Network Layer Reachability Information (NLRI) types and the | , and Prefix | |||
Link-State NLRI types and the | ||||
advertisement of their attributes via BGP.</t> | advertisement of their attributes via BGP.</t> | |||
<t>When a BGP-LS router advertises topology information that it sources | <t>When a BGP-LS router advertises topology information that it sources | |||
from the underlying link-state routing protocol, then it derives the | from the underlying link-state routing protocol, it derives the | |||
corresponding SRv6 information from the SRv6 extensions for IS-IS <xref | corresponding SRv6 information from the SRv6 extensions for IS-IS <xref ta | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/> or OSPFv3 <xref | rget="RFC9352" format="default"/> or OSPFv3 <xref target="RFC9513" format="defau | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>, as applicable. In | lt"/> as applicable. In | |||
practice, this derivation comprises a simple copy of the relevant fields | practice, this derivation comprises a simple copy of the relevant fields | |||
from the IS-IS/OSPFv3 TLV/sub-TLV into the fields of the corresponding | from the IS-IS or OSPFv3 TLV/sub-TLV into the fields of the corresponding | |||
BGP-LS TLV/sub-TLV. When a BGP-LS router advertises topology information | BGP-LS TLV/sub-TLV. | |||
from the BGP routing protocol (e.g., for EPE) or when it advertises SRv6 | ||||
SIDs associated with a node using Direct as the Protocol-ID, then it | When a BGP-LS router advertises topology information | |||
from the BGP routing protocol (e.g., for EPE) or advertises SRv6 | ||||
SIDs associated with a node using Direct as the Protocol-ID, it | ||||
derives the SRv6 information from the local node. Such information is | derives the SRv6 information from the local node. Such information is | |||
advertised only on behalf of the local router, in contrast to the | advertised only on behalf of the local router, in contrast to the | |||
advertisement of information from all nodes of an IGP domain when | advertisement of information from all nodes of an IGP domain when | |||
sourced from a link-state routing protocol.</t> | sourced from a link-state routing protocol.</t> | |||
<t>The SRv6 information pertaining to a node is advertised via the | <t>The SRv6 information pertaining to a node is advertised via the | |||
BGP-LS Node NLRI and using the BGP-LS Attribute TLVs as follows:</t> | BGP-LS Node NLRI using the BGP-LS Attribute TLVs as follows:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>The SRv6 capabilities of the node are advertised via the SRv6 | |||
<t>SRv6 Capabilities of the node are advertised via the SRv6 | Capabilities TLV (<xref target="SRCAPATTR" format="default"/>).</li> | |||
Capabilities TLV (<xref target="SRCAPATTR"/>).</t> | <li>Maximum SID Depth (MSD) types introduced for SRv6 are advertised | |||
(<xref target="SRNODEMSD" format="default"/>) using the Node MSD TLV s | ||||
<t>Maximum SID Depth (MSD) types introduced for SRv6 are advertised | pecified in | |||
(<xref target="SRNODEMSD"/>) using the Node MSD TLV specified in | <xref target="RFC8814" format="default"/>.</li> | |||
<xref target="RFC8814"/></t> | <li>Algorithm support for SRv6 is advertised via the SR-Algorithm TLV | |||
specified in <xref target="RFC9085" format="default"/>.</li> | ||||
<t>Algorithm support for SRv6 is advertised via the SR-Algorithm TLV | </ul> | |||
specified in <xref target="RFC9085"/>.</t> | ||||
</list></t> | ||||
<t>The SRv6 information pertaining to a link is advertised via the | <t>The SRv6 information pertaining to a link is advertised via the | |||
BGP-LS Link NLRI and using the BGP-LS Attribute TLVs as follows:</t> | BGP-LS Link NLRI using the BGP-LS Attribute TLVs as follows:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>The SRv6 SID of the IGP Adjacency SID or the BGP EPE Peer Adjacency | |||
<t>SRv6 SID of the IGP Adjacency SID or the BGP EPE Peer Adjacency | SID <xref target="RFC8402" format="default"/> is advertised via the SR | |||
SID <xref target="RFC8402"/> is advertised via the SRv6 End.X SID | v6 End.X SID | |||
TLV introduced in this document (<xref target="SRENDXTLV"/>).</t> | TLV introduced in this document (<xref target="SRENDXTLV" format="defa | |||
ult"/>).</li> | ||||
<t>SRv6 SID of the IGP Adjacency SID to a non-Designated Router (DR) | <li>The SRv6 SID of the IGP Adjacency SID to a non-Designated Router (DR | |||
or non-Designated Intermediate-System (DIS) <xref target="RFC8402"/> | ) | |||
or non-Designated Intermediate System (DIS) <xref target="RFC8402" for | ||||
mat="default"/> | ||||
is advertised via the SRv6 LAN End.X SID TLV introduced in this | is advertised via the SRv6 LAN End.X SID TLV introduced in this | |||
document (<xref target="SRLANENDXTLV"/>).</t> | document (<xref target="SRLANENDXTLV" format="default"/>).</li> | |||
<li>MSD types introduced for SRv6 are advertised (<xref target="SRLINKMS | ||||
<t>MSD types introduced for SRv6 are advertised (<xref | D" format="default"/>) using the Link MSD TLV specified in <xref target="RFC8814 | |||
target="SRLINKMSD"/>) using the Link MSD TLV specified in <xref | " format="default"/>.</li> | |||
target="RFC8814"/>.</t> | </ul> | |||
</list></t> | ||||
<t>The SRv6 information pertaining to a prefix is advertised via the | <t>The SRv6 information pertaining to a prefix is advertised via the | |||
BGP-LS Prefix NLRI and using the BGP-LS Attribute TLVs as follows:</t> | BGP-LS Prefix NLRI using the BGP-LS Attribute TLVs as follows:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>The SRv6 Locator is advertised via the SRv6 Locator TLV introduced i | |||
<t>SRv6 Locator is advertised via the SRv6 Locator TLV introduced in | n | |||
this document (<xref target="SRLOCTLV"/>).</t> | this document (<xref target="SRLOCTLV" format="default"/>).</li> | |||
<li>The attributes of the SRv6 Locator are advertised via the Prefix | ||||
<t>The attributes of the SRv6 Locator are advertised via the Prefix | Attribute Flags TLV specified in <xref target="RFC9085" format="defaul | |||
Attribute Flags TLV specified in <xref target="RFC9085"/>.</t> | t"/>.</li> | |||
</list></t> | </ul> | |||
<t>The SRv6 SIDs associated with the node are advertised using the | <t>The SRv6 SIDs associated with the node are advertised using the | |||
BGP-LS SRv6 SID NLRI introduced in this document (<xref | BGP-LS SRv6 SID NLRI introduced in this document (<xref target="SRSIDNLRI" | |||
target="SRSIDNLRI"/>). This enables the BGP-LS encoding to scale to | format="default"/>). | |||
This enables the BGP-LS encoding to scale to | ||||
cover a potentially large set of SRv6 SIDs instantiated on a node with | cover a potentially large set of SRv6 SIDs instantiated on a node with | |||
the granularity of individual SIDs and without affecting the size and | the granularity of individual SIDs and without affecting the size and | |||
scalability of the BGP-LS updates. Had the SRv6 SIDs been advertised | scalability of the BGP-LS updates. | |||
If the SRv6 SIDs had been advertised | ||||
within the BGP-LS Link Attribute associated with the existing Node NLRI, | within the BGP-LS Link Attribute associated with the existing Node NLRI, | |||
the BGP-LS update would have grown rather large with the increase in | the BGP-LS update would have grown rather large with the increase in | |||
SRv6 SIDs on the node and would have also required a large update | SRv6 SIDs on the node and would have also required a large update | |||
message to be generated for any change to even a single SRv6 SID. BGP-LS | message to be generated for any change, even a change to a single SRv6 SID | |||
Attribute TLVs for the SRv6 SID NLRI are introduced in this document as | . BGP-LS | |||
follows:</t> | Attribute TLVs for the SRv6 SID NLRI are introduced in this document as fo | |||
llows:</t> | ||||
<t><list style="symbols"> | <ul spacing="normal"> | |||
<t>The endpoint behavior of the SRv6 SID is advertised via the SRv6 | <li>The Endpoint behavior of the SRv6 SID is advertised via the SRv6 | |||
Endpoint Behavior TLV (<xref target="SRFUNCTLV"/>).</t> | Endpoint Behavior TLV (<xref target="SRFUNCTLV" format="default"/>).</ | |||
li> | ||||
<t>The BGP EPE Peer Node context for a PeerNode SID, and the Peer | <li>The BGP EPE Peer Node context for a PeerNode SID and the Peer | |||
Set context for a PeerSet SID <xref target="RFC8402"/> are | Set context for a PeerSet SID <xref target="RFC8402" format="default"/ | |||
advertised via the SRv6 BGP EPE Peer Node SID TLV (<xref | > are | |||
target="SRPEERTLV"/>),</t> | advertised via the SRv6 BGP PeerNode SID TLV (<xref target="SRPEERTLV" | |||
</list></t> | format="default"/>).</li> | |||
</ul> | ||||
<t>Subsequent sections of this document specify the encoding and usage | <t>Subsequent sections of this document specify the encoding and usage | |||
of these extensions. All the TLVs introduced follow the formats and | of these extensions. All the TLVs introduced follow the formats and | |||
common field definitions provided in <xref target="RFC7752"/>.</t> | common field definitions provided in <xref target="RFC7752" format="defaul t"/>.</t> | |||
</section> | </section> | |||
<section anchor="SRNODEATTR" numbered="true" toc="default"> | ||||
<section anchor="SRNODEATTR" title="SRv6 Node Attributes"> | <name>SRv6 Node Attributes</name> | |||
<t>The SRv6 attributes of a node are advertised using the BGP-LS | <t>The SRv6 attributes of a node are advertised using the BGP-LS | |||
Attribute TLVs defined in this section and associated with the BGP-LS | Attribute TLVs defined in this section and associated with the BGP-LS | |||
Node NLRI.</t> | Node NLRI.</t> | |||
<section anchor="SRCAPATTR" numbered="true" toc="default"> | ||||
<section anchor="SRCAPATTR" title="SRv6 Capabilities TLV"> | <name>SRv6 Capabilities TLV</name> | |||
<t>This BGP-LS Attribute TLV is used to announce the SRv6 capabilities | <t>This BGP-LS Attribute TLV is used to announce the SRv6 capabilities | |||
of the node along with the BGP-LS Node NLRI and indicates the SRv6 | of the node along with the BGP-LS Node NLRI and indicates the SRv6 | |||
support by the node. A single instance of this TLV MUST be included in | support by the node. A single instance of this TLV <bcp14>MUST</bcp14> | |||
the BGP-LS attribute for each SRv6 capable node. The IS-IS SRv6 | be included in the BGP-LS Attribute for each SRv6-capable node. The | |||
Capabilities sub-TLV <xref | IS-IS SRv6 Capabilities sub-TLV <xref target="RFC9352" | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/> and the OSPFv3 SRv6 | format="default"/> and the OSPFv3 SRv6 Capabilities TLV <xref | |||
Capabilities TLV <xref target="I-D.ietf-lsr-ospfv3-srv6-extensions"/> | target="RFC9513" format="default"/> that map to this BGP-LS TLV are | |||
that map to this BGP-LS TLV are specified with the ability to carry | specified with the ability to carry optional | |||
optional sub-sub-TLVs/sub-TLVs. However, no such extensions are | sub-sub-TLVs and sub-TLVs. However, no such extensions are currently | |||
currently defined. Moreover, the SRv6 Capabilities TLV defined below | defined. Moreover, the SRv6 Capabilities TLV defined below is not | |||
is not extensible. As a result, it is expected that any extensions | extensible. As a result, it is expected that any extensions will be | |||
will be introduced as top-level TLVs in the BGP-LS Attribute.</t> | introduced as top-level TLVs in the BGP-LS Attribute. | |||
The SRv6 Capabilities | ||||
<t><figure anchor="SRCAPTLVFIG" title="SRv6 Capabilities TLV Format"> | TLV has the following format:</t> | |||
<artwork><![CDATA[ 0 1 2 | ||||
3 | ||||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Type | Length | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Flags | Reserved | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
<figure anchor="SRCAPTLVFIG"> | ||||
<name>SRv6 Capabilities TLV Format</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
0 1 2 3 | ||||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Type | Length | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Flags | Reserved | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ]]></artwork> | |||
</figure> Where:<list style="symbols"> | </figure> | |||
<t>Type: 1038</t> | ||||
<t>Length : 4.</t> | ||||
<t>Flags: 2 octet field. The flags are copied from the IS-IS SRv6 | <t>where:</t> | |||
Capabilities sub-TLV (section 2 of <xref | ||||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or from the OSPFv3 | ||||
SRv6 Capabilities TLV (section 2 of <xref | ||||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of | ||||
IS-IS or OSPFv3 respectively.</t> | ||||
<t>Reserved: 2 octet that MUST be set to 0 when originated and | <dl newline="false" spacing="normal"> | |||
ignored on receipt.</t> | <dt>Type:</dt> <dd>1038</dd> | |||
</list></t> | <dt>Length:</dt> <dd>4</dd> | |||
<dt>Flags:</dt> <dd>2-octet field. The flags are copied from the IS- | ||||
IS SRv6 | ||||
Capabilities sub-TLV (<xref target="RFC9352" sectionFormat="of" sect | ||||
ion="2"/>) or from the OSPFv3 | ||||
SRv6 Capabilities TLV (<xref target="RFC9513" sectionFormat="of" sec | ||||
tion="2"/>) in the case of | ||||
IS-IS or OSPFv3, respectively.</dd> | ||||
<dt>Reserved:</dt><dd>2-octet field that <bcp14>MUST</bcp14> be set to 0 when or | ||||
iginated and | ||||
ignored on receipt.</dd> | ||||
</dl> | ||||
</section> | </section> | |||
<section anchor="SRNODEMSD" numbered="true" toc="default"> | ||||
<section anchor="SRNODEMSD" title="SRv6 Node MSD Types"> | <name>SRv6 Node MSD Types</name> | |||
<t>The Node MSD TLV <xref target="RFC8814"/> of the BGP-LS Attribute | <t>The Node MSD TLV <xref target="RFC8814" format="default"/> of the BGP | |||
-LS Attribute | ||||
of the Node NLRI is also used to advertise the limits and the Segment | of the Node NLRI is also used to advertise the limits and the Segment | |||
Routing Header (SRH) <xref target="RFC8754"/> operations supported by | Routing Header (SRH) <xref target="RFC8754" format="default"/> operation | |||
the SRv6 capable node. The SRv6 MSD Types specified in section 4 of | s supported by | |||
<xref target="I-D.ietf-lsr-isis-srv6-extensions"/> are also used with | the SRv6-capable node. The SRv6 MSD types specified in | |||
the BGP-LS Node MSD TLV as these code points are shared between IS-IS, | <xref target="RFC9352" sectionFormat="of" section="4"/> are also used wi | |||
OSPF and BGP-LS protocols. The description and semantics of these new | th | |||
MSD-types for BGP-LS are identical as specified in <xref | the BGP-LS Node MSD TLV, as these code points are shared between the IS- | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/>.</t> | IS, | |||
OSPF, and BGP-LS protocols. The description and semantics of these new | ||||
<t>Each MSD-type is encoded in the BGP-LS Node MSD TLV as a one-octet | MSD types for BGP-LS are identical to those specified in <xref target="R | |||
FC9352" format="default"/>.</t> | ||||
<t>Each MSD type is encoded in the BGP-LS Node MSD TLV as a one-octet | ||||
type followed by a one-octet value as derived from the IS-IS or OSPFv3 | type followed by a one-octet value as derived from the IS-IS or OSPFv3 | |||
Node MSD advertisements as specified in <xref target="RFC8814"/>.</t> | Node MSD advertisements specified in <xref target="RFC8814" format="defa ult"/>.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="SRLINKATTR" numbered="true" toc="default"> | ||||
<section anchor="SRLINKATTR" title="SRv6 Link Attributes"> | <name>SRv6 Link Attributes</name> | |||
<t>SRv6 attributes and SIDs associated with a link or adjacency are | <t>SRv6 attributes and SIDs associated with a link or adjacency are | |||
advertised using the BGP-LS Attribute TLVs defined in this section and | advertised using the BGP-LS Attribute TLVs defined in this section and | |||
associated with the BGP-LS Link NLRI.</t> | associated with the BGP-LS Link NLRI.</t> | |||
<section anchor="SRENDXTLV" numbered="true" toc="default"> | ||||
<section anchor="SRENDXTLV" title="SRv6 End.X SID TLV"> | <name>SRv6 End.X SID TLV</name> | |||
<t>The SRv6 End.X SID TLV is used to advertise the SRv6 SIDs | <t>The SRv6 End.X SID TLV is used to advertise the SRv6 SIDs | |||
associated with an IGP Adjacency SID behavior that correspond to a | associated with an IGP Adjacency SID behavior that correspond to a | |||
point-to-point or point-to-multipoint link or adjacency of the node | point-to-point or point-to-multipoint link or adjacency of the node | |||
running the IS-IS or OSPFv3 protocols. The information advertised via | running the IS-IS or OSPFv3 protocols. The information advertised via | |||
this TLV is derived from the IS-IS SRv6 End.X SID sub-TLV (section 8.1 | this TLV is derived from the IS-IS SRv6 End.X SID sub-TLV (<xref target= | |||
of <xref target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 | "RFC9352" sectionFormat="of" section="8.1"/>) or the OSPFv3 | |||
SRv6 End.X SID sub-TLV (section 9.1 of <xref | SRv6 End.X SID sub-TLV (<xref target="RFC9513" sectionFormat="of" sectio | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of IS-IS | n="9.1"/>) in the case of IS-IS | |||
or OSPFv3 respectively. This TLV can also be used to advertise the | or OSPFv3, respectively. This TLV can also be used to advertise the | |||
SRv6 SID corresponding to the underlying layer-2 member links for a | SRv6 SID corresponding to the underlying Layer 2 member links for a | |||
layer-3 bundle interface as a sub-TLV of the L2 Bundle Member | Layer 3 bundle interface as a sub-TLV of the L2 Bundle Member | |||
Attribute TLV <xref target="RFC9085"/>.</t> | Attribute TLV <xref target="RFC9085" format="default"/>.</t> | |||
<t>This TLV is also used by BGP-LS to advertise the BGP EPE Peer | <t>This TLV is also used by BGP-LS to advertise the BGP EPE Peer | |||
Adjacency SID for SRv6 on the same lines as specified for SR-MPLS in | Adjacency SID for SRv6 on the same lines as specified for SR-MPLS in | |||
<xref target="RFC9086"/>. The SRv6 SID for the BGP Peer Adjacency | <xref target="RFC9086" format="default"/>. The SRv6 SID for the BGP Peer | |||
using End.X behaviors (viz. End.X, End.X with PSP, End.X with USP, and | Adjacency | |||
End.X with PSP & USP) <xref target="RFC8986"/> indicates the | using End.X behaviors (viz. End.X, End.X with PSP, End.X with USP, | |||
cross-connect to a specific layer-3 link to the specific BGP session | and | |||
End.X with PSP & USP) <xref target="RFC8986" format="default"/> indi | ||||
cates the | ||||
cross-connect to a specific Layer 3 link to the specific BGP session | ||||
peer (neighbor).</t> | peer (neighbor).</t> | |||
<t>More than one instance of this TLV (one for each SRv6 End.X SID) can | ||||
<t>More than one instance of this TLV can be included in the BGP-LS | be included in the BGP-LS | |||
Attribute; one for each SRv6 End.X SID.</t> | Attribute.</t> | |||
<t>The TLV has the following format:</t> | <t>The TLV has the following format:</t> | |||
<figure anchor="ENDXTLV"> | ||||
<t><figure anchor="ENDXTLV" title="SRv6 End.X TLV Format"> | <name>SRv6 End.X SID TLV Format</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Endpoint Behavior | Flags | Algorithm | | | Endpoint Behavior | Flags | Algorithm | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Weight | Reserved | SID (16 octets) ... | | | Weight | Reserved | SID (16 octets) ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | Sub-TLVs (variable) . . . | | SID (cont ...) | Sub-TLVs (variable) . . . | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Type: 1106</t> | </figure> | |||
<t>Length: variable</t> | ||||
<t>Endpoint Behavior: 2 octet field. The Endpoint Behavior code | ||||
point for this SRv6 SID as defined in section 10.2 of <xref | ||||
target="RFC8986"/>.</t> | ||||
<t>Flags: 1 octet of flags. The flags are copied from the IS-IS | ||||
SRv6 End.X SID sub-TLV (section 8.1 of <xref | ||||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 SRv6 | ||||
End.X SID sub-TLV (section 9.1 of <xref | ||||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of | ||||
IS-IS or OSPFv3 respectively. In the case of BGP EPE Peer | ||||
Adjacency SID, the flags are as defined in <xref | ||||
target="SRPEERTLV"/>.</t> | ||||
<t>Algorithm: 1 octet field. Algorithm associated with the | <t>where:</t> | |||
SID.</t> | ||||
<t>Weight: 1 octet field. The value represents the weight of the | <dl newline="false" spacing="normal"> | |||
<dt>Type:</dt><dd>1106</dd> | ||||
<dt>Length:</dt><dd>variable</dd> | ||||
<dt>Endpoint Behavior:</dt><dd>2-octet field. The Endpoint behavior co | ||||
de | ||||
point for this SRv6 SID as defined in <xref target="RFC8986" section | ||||
Format="of" section="10.2"/>.</dd> | ||||
<dt>Flags:</dt><dd>1 octet of flags. The flags are copied from the | ||||
IS-IS SRv6 End.X SID sub-TLV (<xref target="RFC9352" | ||||
sectionFormat="of" section="8.1"/>) or the OSPFv3 SRv6 End.X SID | ||||
sub-TLV (<xref target="RFC9513" sectionFormat="of" section="9.1"/>) | ||||
in the case of IS-IS or OSPFv3, respectively. In the case of the BGP E | ||||
PE | ||||
Peer Adjacency SID, the flags are as defined in <xref | ||||
target="SRPEERTLV" format="default"/>.</dd> | ||||
<dt>Algorithm:</dt><dd>1-octet field. Algorithm associated with the | ||||
SID.</dd> | ||||
<dt>Weight:</dt><dd>1-octet field. The value represents the weight of | ||||
the | ||||
SID for the purpose of load balancing. The use of the weight is | SID for the purpose of load balancing. The use of the weight is | |||
defined in <xref target="RFC8402"/>.</t> | defined in <xref target="RFC8402" format="default"/>.</dd> | |||
<dt>Reserved:</dt><dd>1-octet field that <bcp14>MUST</bcp14> be set to | ||||
<t>Reserved: 1 octet field that MUST be set to 0 when originated | 0 when originated | |||
and ignored on receipt.</t> | and ignored on receipt.</dd> | |||
<dt>SID:</dt><dd>16-octet field. This field encodes the advertised SRv | ||||
<t>SID: 16 octet field. This field encodes the advertised SRv6 SID | 6 SID | |||
as 128 bit value.</t> | as a 128-bit value.</dd> | |||
<dt>Sub-TLVs:</dt><dd>Used to advertise sub-TLVs that provide addition | ||||
<t>Sub-TLVs : Used to advertise sub-TLVs that provide additional | al | |||
attributes for the specific SRv6 SID. This document defines one in | attributes for the specific SRv6 SID. This document defines one in | |||
<xref target="SRSTRUCTTLV"/>.</t> | <xref target="SRSTRUCTTLV" format="default"/>.</dd> | |||
</list></t> | </dl> | |||
</section> | </section> | |||
<section anchor="SRLANENDXTLV" numbered="true" toc="default"> | ||||
<name>SRv6 LAN End.X SID TLV</name> | ||||
<section anchor="SRLANENDXTLV" title="SRv6 LAN End.X SID TLV "> | ||||
<t>For a LAN interface, an IGP node ordinarily announces only its | <t>For a LAN interface, an IGP node ordinarily announces only its | |||
adjacency to the IS-IS pseudo-node (or the equivalent OSPF DR). The | adjacency to the IS-IS pseudonode (or the equivalent OSPF DR). The | |||
information advertised via this TLV is derived from the IS-IS SRv6 LAN | information advertised via this TLV is derived from the IS-IS SRv6 LAN | |||
End.X SID sub-TLV (section 8.2 of <xref | End.X SID sub-TLV (<xref target="RFC9352" sectionFormat="of" section="8. | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 SRv6 LAN | 2"/>) or the OSPFv3 SRv6 LAN | |||
End.X sub-TLV (section 9.2 of <xref | End.X SID sub-TLV (<xref target="RFC9513" sectionFormat="of" section="9. | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of IS-IS | 2"/>) in the case of IS-IS | |||
or OSPFv3 respectively. The SRv6 LAN End.X SID TLV allows a node to | or OSPFv3, respectively. The SRv6 LAN End.X SID TLV allows a node to | |||
announce the SRv6 SID corresponding to its adjacencies to all other | announce the SRv6 SID corresponding to its adjacencies to all other | |||
(i.e., non-DIS or non-DR) nodes attached to the LAN in a single | (i.e., non-DIS or non-DR) nodes attached to the LAN in a single | |||
instance of the BGP-LS Link NLRI. Without this TLV, multiple BGP-LS | instance of the BGP-LS Link NLRI. Without this TLV, multiple BGP-LS | |||
Link NLRIs would need to be originated, one for each neighbor, to | Link NLRIs would need to be originated, one for each neighbor, to | |||
advertise the SRv6 End.X SID TLVs for those non-DIS/non-DR neighbors. | advertise the SRv6 End.X SID TLVs for those non-DIS/non-DR neighbors. | |||
The SRv6 SID for these IGP adjacencies using the End.X behaviors (viz. | The SRv6 SID for these IGP adjacencies using the End.X behaviors (viz.&n | |||
End.X, End.X with PSP, End.X with USP, and End.X with PSP & USP) | bsp;End.X, End.X with PSP, End.X with USP, and End.X with PSP & USP) | |||
<xref target="RFC8986"/> are advertised using the SRv6 LAN End.X SID | <xref target="RFC8986" format="default"/> are advertised using the SRv6 | |||
LAN End.X SID | ||||
TLV.</t> | TLV.</t> | |||
<t>More than one instance of this TLV (one for each SRv6 LAN End.X SID) | ||||
<t>More than one instance of this TLV can be included in the BGP-LS | can be included in the BGP-LS | |||
Attribute; one for each SRv6 LAN End.X SID.</t> | Attribute.</t> | |||
<t>The BGP-LS IS-IS SRv6 LAN End.X SID and BGP-LS OSPFv3 SRv6 LAN | <t>The BGP-LS IS-IS SRv6 LAN End.X SID and BGP-LS OSPFv3 SRv6 LAN | |||
End.X SID TLVs have the following format:</t> | End.X SID TLVs have the following format:</t> | |||
<figure anchor="ENDLXTLV"> | ||||
<t><figure anchor="ENDLXTLV" title="SRv6 LAN End.X SID TLV Format"> | <name>SRv6 LAN End.X SID TLV Format</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Endpoint Behavior | Flags | Algorithm | | | Endpoint Behavior | Flags | Algorithm | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Weight | Reserved | Neighbor ID - | | | Weight | Reserved | Neighbor ID - | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
| IS-IS System-ID (6 octets) or OSPFv3 Router-ID (4 octets) | | | IS-IS System-ID (6 octets) or OSPFv3 Router-ID (4 octets) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (16 octets) ... | | | SID (16 octets) ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLVs (variable) . . . | | Sub-TLVs (variable) . . . | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list style="symbols"> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Type: 1107 in case of IS-IS and 1108 in case of OSPFv3</t> | </figure> | |||
<t>Length: variable</t> | ||||
<t>Endpoint Behavior: 2 octet field. The Endpoint Behavior code | ||||
point for this SRv6 SID as defined in section 10.2 of <xref | ||||
target="RFC8986"/>.</t> | ||||
<t>Flags: 1 octet of flags. The flags are copied from the IS-IS | ||||
SRv6 LAN End.X SID sub-TLV (section 8.2 of <xref | ||||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 SRv6 | ||||
LAN End.X SID sub-TLV (section 9.2 of <xref | ||||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of | ||||
IS-IS or OSPFv3 respectively.</t> | ||||
<t>Algorithm: 1 octet field. Algorithm associated with the | ||||
SID.</t> | ||||
<t>Weight: 1 octet field. The value represents the weight of the | ||||
SID for the purpose of load balancing.</t> | ||||
<t>Reserved: 1 octet field that MUST be set to 0 when originated | ||||
and ignored on receipt.</t> | ||||
<t>Neighbor ID : 6 octets of Neighbor System-ID in IS-IS SRv6 LAN | ||||
End.X SID TLV or 4 octets of Neighbor Router-id in the OSPFv3 SRv6 | ||||
LAN End.X SID TLV.</t> | ||||
<t>SID: 16 octet field. This field encodes the advertised SRv6 SID | <t>where:</t> | |||
as 128 bit value.</t> | ||||
<t>Sub-TLVs : Used to advertise sub-TLVs that provide additional | <dl newline="false" spacing="normal"> | |||
<dt>Type:</dt><dd>1107 for IS-IS and 1108 for OSPFv3</dd> | ||||
<dt>Length:</dt><dd>variable</dd> | ||||
<dt>Endpoint Behavior:</dt><dd>2-octet field. The Endpoint behavior co | ||||
de | ||||
point for this SRv6 SID as defined in <xref target="RFC8986" section | ||||
Format="of" section="10.2"/>.</dd> | ||||
<dt>Flags:</dt><dd>1 octet of flags. The flags are copied from the IS- | ||||
IS | ||||
SRv6 LAN End.X SID sub-TLV (<xref target="RFC9352" sectionFormat="of | ||||
" section="8.2"/>) or the OSPFv3 SRv6 | ||||
LAN End.X SID sub-TLV (<xref target="RFC9513" sectionFormat="of" sec | ||||
tion="9.2"/>) in the case of | ||||
IS-IS or OSPFv3, respectively.</dd> | ||||
<dt>Algorithm:</dt><dd>1-octet field. Algorithm associated with the | ||||
SID.</dd> | ||||
<dt>Weight:</dt><dd>1-octet field. The value represents the weight of | ||||
the | ||||
SID for the purpose of load balancing.</dd> | ||||
<dt>Reserved:</dt><dd>1-octet field that <bcp14>MUST</bcp14> be set to | ||||
0 when originated | ||||
and ignored on receipt.</dd> | ||||
<dt>Neighbor ID:</dt><dd>6 octets of Neighbor System-ID in the IS-IS S | ||||
Rv6 LAN | ||||
End.X SID TLV or 4 octets of Neighbor Router-ID in the OSPFv3 SRv6 | ||||
LAN End.X SID TLV.</dd> | ||||
<dt>SID:</dt><dd>16-octet field. This field encodes the advertised SRv | ||||
6 SID | ||||
as a 128-bit value.</dd> | ||||
<dt>Sub-TLVs:</dt><dd>Used to advertise sub-TLVs that provide addition | ||||
al | ||||
attributes for the specific SRv6 SID. This document defines one in | attributes for the specific SRv6 SID. This document defines one in | |||
<xref target="SRSTRUCTTLV"/>.</t> | <xref target="SRSTRUCTTLV" format="default"/>.</dd> | |||
</list></t> | </dl> | |||
</section> | ||||
<section anchor="SRLINKMSD" title="SRv6 Link MSD Types"> | </section> | |||
<t>The Link MSD TLV <xref target="RFC8814"/> of the BGP-LS Attribute | <section anchor="SRLINKMSD" numbered="true" toc="default"> | |||
<name>SRv6 Link MSD Types</name> | ||||
<t>The Link MSD TLV <xref target="RFC8814" format="default"/> of the BGP | ||||
-LS Attribute | ||||
of the Link NLRI is also used to advertise the limits and the SRH | of the Link NLRI is also used to advertise the limits and the SRH | |||
operations supported on the specific link by the SRv6 capable node. | operations supported on the specific link by the SRv6-capable node. | |||
The SRv6 MSD Types specified in section 4 of<xref | The SRv6 MSD types specified in <xref target="RFC9352" sectionFormat="of | |||
target="I-D.ietf-lsr-isis-srv6-extensions"> </xref> are also used with | " section="4"> </xref> are also used with | |||
the BGP-LS Link MSD TLV as these code points are shared between IS-IS, | the BGP-LS Link MSD TLV, as these code points are shared between the IS- | |||
IS, | ||||
OSPF, and BGP-LS protocols. The description and semantics of these new | OSPF, and BGP-LS protocols. The description and semantics of these new | |||
MSD types for BGP-LS are identical as specified in <xref | MSD types for BGP-LS are identical as specified in <xref target="RFC9352 | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/>.</t> | " format="default"/>.</t> | |||
<t>Each MSD type is encoded in the BGP-LS Link MSD TLV as a one-octet | ||||
<t>Each MSD-type is encoded in the BGP-LS Link MSD TLV as a one-octet | ||||
type followed by a one-octet value as derived from the IS-IS or OSPFv3 | type followed by a one-octet value as derived from the IS-IS or OSPFv3 | |||
Link MSD advertisements as specified in <xref target="RFC8814"/>.</t> | Link MSD advertisements specified in <xref target="RFC8814" format="defa ult"/>.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="SRPFXATTR" numbered="true" toc="default"> | ||||
<section anchor="SRPFXATTR" title="SRv6 Prefix Attributes"> | <name>SRv6 Prefix Attributes</name> | |||
<t>SRv6 attributes with an IPv6 prefix are advertised using the BGP-LS | <t>SRv6 attributes with an IPv6 prefix are advertised using the BGP-LS | |||
Attribute TLVs defined in this section and associated with the BGP-LS | Attribute TLVs defined in this section and associated with the BGP-LS | |||
Prefix NLRI.</t> | Prefix NLRI.</t> | |||
<section anchor="SRLOCTLV" numbered="true" toc="default"> | ||||
<section anchor="SRLOCTLV" title="SRv6 Locator TLV"> | <name>SRv6 Locator TLV</name> | |||
<t>As specified in <xref target="RFC8986"/>, an SRv6 SID comprises | <t>As specified in <xref target="RFC8986" format="default"/>, an SRv6 SI | |||
Locator, Function and Argument parts.</t> | D comprises | |||
locator, function, and argument parts.</t> | ||||
<t>A node is provisioned with one or more Locators supported by that | <t>A node is provisioned with one or more locators supported by that | |||
node. Locators are covering prefixes for the set of SIDs provisioned | node. Locators are covering prefixes for the set of SIDs provisioned | |||
on that node. Each Locator is advertised as a BGP-LS Prefix NLRI | on that node. Each locator is advertised as a BGP-LS Prefix NLRI | |||
object along with the SRv6 Locator TLV in its BGP-LS Attribute.</t> | object along with the SRv6 Locator TLV in its BGP-LS Attribute.</t> | |||
<t>The information advertised via this TLV is derived from the IS-IS | <t>The information advertised via this TLV is derived from the IS-IS | |||
SRv6 Locator TLV (section 7.1 of <xref | SRv6 Locator TLV (<xref target="RFC9352" sectionFormat="of" section="7.1 | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 SRv6 | "/>) or the OSPFv3 SRv6 | |||
Locator TLV (section 7.1 of <xref | Locator TLV (<xref target="RFC9513" sectionFormat="of" section="7.1"/>) | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of IS-IS | in the case of IS-IS | |||
or OSPFv3 respectively.</t> | or OSPFv3, respectively.</t> | |||
<t>The IPv6 Prefix matching the locator may also be advertised as | ||||
<t>The IPv6 Prefix matching the Locator may be also advertised as | ||||
prefix reachability by the underlying routing protocol. In this case, | prefix reachability by the underlying routing protocol. In this case, | |||
the Prefix NLRI would be also associated with the Prefix Metric TLV | the Prefix NLRI would also be associated with the Prefix Metric TLV | |||
<xref target="RFC7752"/> that carries the routing metric for this | <xref target="RFC7752" format="default"/> that carries the routing metri | |||
prefix. A Prefix NLRI, that has been advertised with a SRv6 Locator | c for this | |||
TLV, is also considered a normal routing prefix (i.e., prefix | prefix. A Prefix NLRI that has been advertised with a SRv6 Locator | |||
reachability) only when there is also an IGP metric TLV (TLV 1095) | TLV is also considered a normal routing prefix (i.e., prefix | |||
associated it. Otherwise, it is considered only as an SRv6 Locator | reachability) only when there is also an IGP Metric TLV (TLV 1095) | |||
associated it. Otherwise, it is only considered an SRv6 Locator | ||||
advertisement.</t> | advertisement.</t> | |||
<t>The SRv6 Locator TLV has the following format: </t> | ||||
<t>The SRv6 Locator TLV has the following format: <figure | <figure anchor="SRV6LOCFIG"> | |||
anchor="SRV6LOCFIG" title="SRv6 Locator TLV Format"> | <name>SRv6 Locator TLV Format</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Flags | Algorithm | Reserved | | | Flags | Algorithm | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Metric | | | Metric | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLVs (variable) . . . | | Sub-TLVs (variable) . . . | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Type: 1162</t> | </figure> | |||
<t>Length: variable</t> | ||||
<t>Flags: 1 octet of flags. The flags are copied from the IS-IS | ||||
SRv6 Locator TLV (section 7.1 of <xref | ||||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 SRv6 | ||||
Locator TLV (section 7.1 of <xref | ||||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of | ||||
IS-IS or OSPFv3 respectively.</t> | ||||
<t>Algorithm: 1 octet field. Algorithm associated with the | ||||
SID.</t> | ||||
<t>Reserved: 2 octet field. The value MUST be set to 0 when | ||||
originated and ignored on receipt.</t> | ||||
<t>Metric: 4 octet field. The value of the metric for the Locator | <t>where:</t> | |||
copied from the IS-IS SRv6 Locator TLV (section 7.1 of <xref | ||||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 SRv6 | ||||
Locator TLV (section 7.1 of <xref | ||||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of | ||||
IS-IS or OSPFv3 respectively.</t> | ||||
<t>Sub-TLVs : Used to advertise sub-TLVs that provide additional | <dl newline="false"> | |||
<dt>Type:</dt><dd>1162</dd> | ||||
<dt>Length:</dt><dd>variable</dd> | ||||
<dt>Flags:</dt><dd>1 octet of flags. The flags are copied from the IS- | ||||
IS | ||||
SRv6 Locator TLV (<xref target="RFC9352" sectionFormat="of" section= | ||||
"7.1"/>) or the OSPFv3 SRv6 | ||||
Locator TLV (<xref target="RFC9513" sectionFormat="of" section="7.1" | ||||
/>) in the case of | ||||
IS-IS or OSPFv3, respectively.</dd> | ||||
<dt>Algorithm:</dt><dd>1-octet field. Algorithm associated with the | ||||
SID.</dd> | ||||
<dt>Reserved:</dt><dd>2-octet field. The value <bcp14>MUST</bcp14> be | ||||
set to 0 when | ||||
originated and ignored on receipt.</dd> | ||||
<dt>Metric:</dt><dd>4-octet field. The value of the metric for the loc | ||||
ator | ||||
copied from the IS-IS SRv6 Locator TLV (<xref target="RFC9352" secti | ||||
onFormat="of" section="7.1"/>) or the OSPFv3 SRv6 | ||||
Locator TLV (<xref target="RFC9513" sectionFormat="of" section="7.1" | ||||
/>) in the case of | ||||
IS-IS or OSPFv3, respectively.</dd> | ||||
<dt>Sub-TLVs:</dt><dd>Used to advertise sub-TLVs that provide addition | ||||
al | ||||
attributes for the given SRv6 Locator. Currently, none are | attributes for the given SRv6 Locator. Currently, none are | |||
defined.</t> | defined.</dd> | |||
</list></t> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="SRSIDNLRI" numbered="true" toc="default"> | ||||
<section anchor="SRSIDNLRI" title="SRv6 SID NLRI"> | <name>SRv6 SID NLRI</name> | |||
<t>The "Link-State NLRI" defined in <xref target="RFC7752"/> is extended | <t>The Link-State NLRI defined in <xref target="RFC7752" format="default"/ | |||
> is extended | ||||
to carry the SRv6 SID information.</t> | to carry the SRv6 SID information.</t> | |||
<t>This document defines the following new Link-State NLRI type for SRv6 S | ||||
<t>A new "Link-State NLRI Type" is defined for SRv6 SID information as | ID information: SRv6 SID NLRI (type 6). | |||
follows:</t> | </t> | |||
<t><list style="symbols"> | ||||
<t>Link-State NLRI Type: SRv6 SID NLRI (value 6).</t> | ||||
</list></t> | ||||
<t>The SRv6 SIDs associated with the node are advertised using the | <t>The SRv6 SIDs associated with the node are advertised using the | |||
BGP-LS SRv6 SID NLRI.</t> | BGP-LS SRv6 SID NLRI.</t> | |||
<t>This new NLRI type has the following format:</t> | ||||
<t>The format of this new NLRI type is as shown in the following | <figure anchor="SRSIDNLRIFIG"> | |||
figure:</t> | <name>SRv6 SID NLRI Format</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<t><figure anchor="SRSIDNLRIFIG" title="SRv6 SID NLRI Format"> | 0 1 2 3 | |||
<artwork><![CDATA[ 0 1 2 | 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 | |||
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 | | Protocol-ID | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Protocol-ID | | | Identifier | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | (8 octets) | | |||
| Identifier | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| (8 octets) | | | Local Node Descriptors (variable) // | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Local Node Descriptors (variable) // | | SRv6 SID Descriptors (variable) // | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SRv6 SID Descriptors (variable) // | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list style="symbols"> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Protocol-ID: 1-octet field that specifies the information source | </figure> | |||
protocol <xref target="RFC7752"/>.</t> | ||||
<t>Identifier: 8 octet value as defined in <xref | ||||
target="RFC7752"/>.</t> | ||||
<t>Local Node Descriptors TLV: set of Node Descriptor TLVs for the | <t>where:</t> | |||
local node, as defined in <xref target="RFC7752"/> for IGPs, direct, | ||||
and static configuration or as defined in <xref target="RFC9086"/> | ||||
for BGP protocol.</t> | ||||
<t>SRv6 SID Descriptors: set of SRv6 SID Descriptor TLVs. This field | <dl newline="false" spacing="normal"> | |||
MUST contain a single SRv6 SID Information TLV (<xref | <dt>Protocol-ID:</dt><dd>1-octet field that specifies the information so | |||
target="SRSIDINFO"/>) and MAY contain the Multi-Topology Identifier | urce | |||
TLV <xref target="RFC7752"/>.</t> | protocol <xref target="RFC7752" format="default"/>.</dd> | |||
</list></t> | <dt>Identifier:</dt><dd>8-octet value as defined in <xref target="RFC775 | |||
2" format="default"/>.</dd> | ||||
<dt>Local Node Descriptors TLV:</dt><dd>Set of Node Descriptor TLVs for | ||||
the | ||||
local node as defined in <xref target="RFC7752" format="default"/> for | ||||
IGPs, the Direct Protocol-ID, | ||||
and the Static configuration Protocol-ID or as defined in <xref target="RF | ||||
C9086" format="default"/> | ||||
for BGP.</dd> | ||||
<dt>SRv6 SID Descriptors:</dt><dd>Set of SRv6 SID Descriptor TLVs. This | ||||
field | ||||
<bcp14>MUST</bcp14> contain a single SRv6 SID Information TLV (<xref t | ||||
arget="SRSIDINFO" format="default"/>) and <bcp14>MAY</bcp14> contain the Multi-T | ||||
opology Identifier | ||||
TLV <xref target="RFC7752" format="default"/>.</dd> | ||||
</dl> | ||||
<t>New TLVs for advertisement within the BGP-LS Attribute <xref | <t>New TLVs for advertisement within the BGP-LS Attribute <xref target="RF | |||
target="RFC7752"/> are defined in <xref target="SRSIDATTR"/> to carry | C7752" format="default"/> are defined in <xref target="SRSIDATTR" format="defaul | |||
t"/> to carry | ||||
the attributes of an SRv6 SID.</t> | the attributes of an SRv6 SID.</t> | |||
<section anchor="SRSIDINFO" numbered="true" toc="default"> | ||||
<section anchor="SRSIDINFO" title="SRv6 SID Information TLV"> | <name>SRv6 SID Information TLV</name> | |||
<t>An SRv6 SID that is associated with the node and advertised using | <t>An SRv6 SID that is associated with the node and advertised using | |||
the SRv6 SID NLRI is encoded using the SRv6 SID Information TLV.</t> | the SRv6 SID NLRI is encoded using the SRv6 SID Information TLV.</t> | |||
<t>When advertising the SRv6 SIDs from the IGPs, the SID information | <t>When advertising the SRv6 SIDs from the IGPs, the SID information | |||
is derived from the IS-IS SRv6 End SID sub-TLV (section 7.2 of <xref | is derived from the IS-IS SRv6 End SID sub-TLV (<xref target="RFC9352" s | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 SRv6 End | ectionFormat="of" section="7.2"/>) or the OSPFv3 SRv6 End | |||
SID sub-TLV (section 8 of <xref | SID sub-TLV (<xref target="RFC9513" sectionFormat="of" section="8"/>) in | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of IS-IS | the case of IS-IS | |||
or OSPFv3 respectively.</t> | or OSPFv3, respectively.</t> | |||
<t>The TLV carries the SRv6 SIDs corresponding to the BGP PeerNode and | <t>The TLV carries the SRv6 SIDs corresponding to the BGP PeerNode and | |||
PeerSet SID <xref target="RFC8402"/> when SRv6 BGP EPE functionality | PeerSet SIDs <xref target="RFC8402" format="default"/> when SRv6 BGP EPE functionality | |||
is enabled in BGP.</t> | is enabled in BGP.</t> | |||
<t>The TLV has the following format: </t> | ||||
<t>The TLV has the following format: <figure anchor="SRV6SIDDESC" | <figure anchor="SRV6SIDDESC"> | |||
title="SRv6 SID Information TLV Format"> | <name>SRv6 SID Information TLV Format</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (16 octets) ... | | | SID (16 octets) ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (cont ...) | | | SID (cont ...) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Type: 518</t> | </figure> | |||
<t>Length: 16.</t> | <t>where:</t> | |||
<dl newline="false" spacing="normal"> | ||||
<dt>Type:</dt><dd>518</dd> | ||||
<dt>Length:</dt><dd>16</dd> | ||||
<dt>SID:</dt><dd>16-octet field. This field encodes the advertised SRv | ||||
6 SID | ||||
as a 128-bit value.</dd> | ||||
</dl> | ||||
<t>SID: 16 octet field. This field encodes the advertised SRv6 SID | ||||
as 128 bit value.</t> | ||||
</list></t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="SRSIDATTR" numbered="true" toc="default"> | ||||
<section anchor="SRSIDATTR" title="SRv6 SID Attributes"> | <name>SRv6 SID Attributes</name> | |||
<t>This section specifies the TLVs to be carried in the BGP Link State | <t>This section specifies the TLVs to be carried in the BGP Link State | |||
Attribute associated with the BGP-LS SRv6 SID NLRI.</t> | Attribute associated with the BGP-LS SRv6 SID NLRI.</t> | |||
<section anchor="SRFUNCTLV" numbered="true" toc="default"> | ||||
<section anchor="SRFUNCTLV" title="SRv6 Endpoint Behavior TLV"> | <name>SRv6 Endpoint Behavior TLV</name> | |||
<t>Each SRv6 SID instantiated on an SRv6 capable node has specific | <t>Each SRv6 SID instantiated on an SRv6-capable node has specific | |||
instructions (called behavior) bound to it. <xref target="RFC8986"/> | instructions (called "behavior") bound to it. <xref target="RFC8986" for | |||
mat="default"/> | ||||
describes how behaviors are bound to a SID and also defines the | describes how behaviors are bound to a SID and also defines the | |||
initial set of well-known behaviors.</t> | initial set of well-known behaviors.</t> | |||
<t>The SRv6 Endpoint Behavior TLV is a mandatory TLV that <bcp14>MUST</b | ||||
<t>The SRv6 Endpoint Behavior TLV is a mandatory TLV that MUST be | cp14> be | |||
included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID | included in the BGP-LS Attribute associated with the BGP-LS SRv6 SID | |||
NLRI.</t> | NLRI.</t> | |||
<t>When advertising the SRv6 SIDs from the IGPs, the Endpoint | <t>When advertising the SRv6 SIDs from the IGPs, the Endpoint | |||
behavior, Flags, and Algorithm are derived from the IS-IS SRv6 End SID | behavior, Flags, and Algorithm are derived from the IS-IS SRv6 End SID | |||
sub-TLV (section 7.2 of <xref | sub-TLV (<xref target="RFC9352" sectionFormat="of" section="7.2"/>) or t | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the OSPFv3 SRv6 End | he OSPFv3 SRv6 End | |||
SID sub-TLV (section 8 of <xref | SID sub-TLV (<xref target="RFC9513" sectionFormat="of" section="8"/>) in | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of IS-IS | the case of IS-IS | |||
or OSPFv3 respectively.</t> | or OSPFv3, respectively.</t> | |||
<t>When advertising the SRv6 SIDs corresponding to the BGP EPE | <t>When advertising the SRv6 SIDs corresponding to the BGP EPE | |||
functionality, the Endpoint Behavior corresponds to End.X and similar | functionality, the Endpoint behavior corresponds to End.X and similar | |||
behaviors. When advertising the SRv6 SIDs that are locally | behaviors. When advertising the SRv6 SIDs that are locally | |||
instantiated on the node using Direct as the Protoocl-ID, The Endpoint | instantiated on the node using Direct as the Protocol-ID, the Endpoint | |||
Behavior corresponds to any SRv6 Endpoint Behavior associated with the | behavior corresponds to any SRv6 Endpoint behavior associated with the | |||
node. Flags are currently not defined. The algorithm value MUST be 0 | node. Flags are currently not defined. The algorithm value <bcp14>MUST</ | |||
bcp14> be 0 | ||||
unless an algorithm is associated locally with the SRv6 Locator from | unless an algorithm is associated locally with the SRv6 Locator from | |||
which the SID is allocated.</t> | which the SID is allocated.</t> | |||
<t>The TLV has the following format:</t> | <t>The TLV has the following format:</t> | |||
<figure anchor="SRENDFUNC"> | ||||
<t><figure anchor="SRENDFUNC" title="SRv6 Endpoint Behavior TLV"> | <name>SRv6 Endpoint Behavior TLV</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Endpoint Behavior | Flags | Algorithm | | | Endpoint Behavior | Flags | Algorithm | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Type: 1250</t> | </figure> | |||
<t>Length: 4.</t> | <t>where:</t> | |||
<t>Endpoint Behavior: 2 octet field. The Endpoint Behavior code | <dl newline="false" spacing="normal"> | |||
point for this SRv6 SID. Support values are those from the "SRv6 | <dt>Type:</dt><dd>1250</dd> | |||
Endpoint Behaviors" IANA registry (as established via section 10.2 | <dt>Length:</dt><dd>4</dd> | |||
of <xref target="RFC8986"/>).</t> | <dt>Endpoint Behavior:</dt><dd>2-octet field. The Endpoint behavior co | |||
de | ||||
point for this SRv6 SID. Values are from the "SRv6 | ||||
Endpoint Behaviors" IANA registry (<xref target="RFC8986" sectionFor | ||||
mat="of" section="10.2"/>).</dd> | ||||
<t>Flags: 1 octet of flags. The flags map to the IS-IS or OSPFv3 | <dt>Flags:</dt><dd>1 octet of flags. The flags map to the IS-IS or | |||
encodings when advertising SRv6 SIDs corresponding to IGPs. For | OSPFv3 encodings when advertising SRv6 SIDs corresponding to IGPs. | |||
SRv6 SIDs corresponding to BGP EPE and when advertising SRv6 SID | No flags are currently defined for SRv6 SIDs corresponding to BGP | |||
using Direct Protocol-ID, none are defined currently and they MUST | EPE or for advertisement of a SRv6 SID using Direct as the | |||
be set to 0 when originated and ignored on receipt.</t> | Protocol-ID. Undefined flags <bcp14>MUST</bcp14> be set to 0 when or | |||
iginating and ignored on | ||||
receipt. </dd> | ||||
<dt>Algorithm:</dt><dd>1-octet field. Algorithm associated with the | ||||
SID.</dd> | ||||
</dl> | ||||
<t>Algorithm: 1 octet field. Algorithm associated with the | ||||
SID.</t> | ||||
</list></t> | ||||
</section> | </section> | |||
<section anchor="SRPEERTLV" numbered="true" toc="default"> | ||||
<section anchor="SRPEERTLV" title="SRv6 BGP Peer Node SID TLV"> | <name>SRv6 BGP PeerNode SID TLV</name> | |||
<t>The BGP PeerNode SID and PeerSet SID for SR-MPLS are specified in | <t>The BGP PeerNode and PeerSet SIDs for SR-MPLS are specified in | |||
<xref target="RFC9086"/>. Similar Peer Node and Peer Set functionality | <xref target="RFC9086" format="default"/>. Similar Peer Node and Peer Se | |||
t functionality | ||||
can be realized with SRv6 using SIDs with END.X behavior. Refer to | can be realized with SRv6 using SIDs with END.X behavior. Refer to | |||
<xref target="BGPEPE"/> for some differences between the signaling of | <xref target="BGPEPE" format="default"/> for some differences between th | |||
these SIDs in SR-MPLS and SRv6. The SRv6 BGP Peer Node SID TLV is a | e signaling of | |||
these SIDs in SR-MPLS and SRv6. The SRv6 BGP PeerNode SID TLV is a | ||||
mandatory TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI | mandatory TLV for use in the BGP-LS Attribute for an SRv6 SID NLRI | |||
advertised by BGP for the EPE functionality. This TLV MUST be included | advertised by BGP for the EPE functionality. This TLV <bcp14>MUST</bcp14 > be included | |||
along with SRv6 SIDs that are associated with the BGP PeerNode or | along with SRv6 SIDs that are associated with the BGP PeerNode or | |||
PeerSet functionality.</t> | PeerSet functionality.</t> | |||
<t>The TLV has the following format:</t> | <t>The TLV has the following format:</t> | |||
<figure anchor="SRPEERTLVFIG"> | ||||
<t><figure anchor="SRPEERTLVFIG" | <name>SRv6 BGP PeerNode SID TLV Format</name> | |||
title="SRv6 BGP Peer Node SID TLV Format"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<artwork><![CDATA[ 0 1 2 | 0 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 | | |||
| Type | Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Flags | Weight | Reserved | | |||
| Flags | Weight | Reserved | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Peer AS Number | | |||
| Peer AS Number | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Peer BGP Identifier | | |||
| Peer BGP Identifier | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list style="symbols"> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Type: 1251</t> | </figure> | |||
<t>Length: 12</t> | <t>where:</t> | |||
<t>Flags: 1 octet of flags with the following definition: <figure | <dl newline="false" spacing="normal"> | |||
anchor="ENDXBGPFLAGS" title="SRv6 BGP EPE SID Flags Format"> | <dt>Type:</dt><dd>1251</dd> | |||
<artwork align="left"><![CDATA[ 0 1 2 3 4 5 6 7 | <dt>Length:</dt><dd>12</dd> | |||
+-+-+-+-+-+-+-+-+ | <dt>Flags:</dt><dd><t>1 octet of flags with the following definitions: | |||
|B|S|P| | | </t> | |||
+-+-+-+-+-+-+-+-+ | ||||
<figure anchor="ENDXBGPFLAGS"> | ||||
<name>SRv6 BGP EPE SID Flags Format</name> | ||||
<artwork align="left" name="" type="" alt=""><![CDATA[ | ||||
0 1 2 3 4 5 6 7 | ||||
+-+-+-+-+-+-+-+-+ | ||||
|B|S|P| | | ||||
+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ]]></artwork> | |||
</figure><list style="symbols"> | </figure> | |||
<t>B-Flag: Backup Flag. If set, the SID is eligible to be | ||||
protected using fast reroute (FRR). The computation of the | ||||
backup forwarding path and its association with the forwarding | ||||
entry for the Peer BGP Identifier is implementation | ||||
specific.</t> | ||||
<t>S-Flag: Set Flag. When set, the S-Flag indicates that the | <dl newline="false" spacing="normal"> | |||
<dt>B-Flag:</dt><dd>Backup Flag. If set, the SID is eligible to | ||||
be protected using Fast Reroute (FRR). The computation of the | ||||
backup forwarding path and its association with the forwarding | ||||
entry for the Peer BGP Identifier are implementation specific.</dd | ||||
> | ||||
<dt>S-Flag:</dt><dd>Set Flag. When set, the S-Flag indicates that | ||||
the | ||||
SID refers to a set of BGP peering sessions (i.e., BGP Peer | SID refers to a set of BGP peering sessions (i.e., BGP Peer | |||
Set SID functionality) and therefore MAY be assigned to one or | Set SID functionality) and therefore <bcp14>MAY</bcp14> be assig | |||
more End.X SIDs associated with BGP peer sessions.</t> | ned to one or | |||
more End.X SIDs associated with BGP peering sessions.</dd> | ||||
<t>P-Flag: Persistent Flag: When set, the P-Flag indicates | <dt>P-Flag:</dt><dd>Persistent Flag. When set, the P-Flag indicate | |||
s | ||||
that the SID is persistently allocated, i.e., the value | that the SID is persistently allocated, i.e., the value | |||
remains consistent across router restart and/or session | remains consistent across router restart and/or session | |||
flap.</t> | flap.</dd> | |||
<dt>Other bits are reserved for future use and | ||||
<t>Other bits are reserved for future use and MUST be set to 0 | <bcp14>MUST</bcp14> be set to 0 when originated and ignored on | |||
when originated and ignored on receipt.</t> | receipt. The flags defined above are also used with the SRv6 | |||
</list> The flags defined above are also used with the SRv6 | End.X SID TLV when advertising the SRv6 BGP Peer Adjacency SID | |||
End.X SID TLV when advertising SRv6 BGP Peer Adjacency SID (<xref | (<xref target="SRENDXTLV" format="default"/>).</dt><dd></dd> | |||
target="SRENDXTLV"/>).</t> | </dl></dd> | |||
<t>Weight: 1 octet field. The value represents the weight of the | <dt>Weight:</dt><dd>1-octet field. The value represents the weight of the | |||
SID for the purpose of load balancing. The use of the weight is | SID for the purpose of load balancing. The use of the weight is | |||
defined in <xref target="RFC8402"/>.</t> | defined in <xref target="RFC8402" format="default"/>.</dd> | |||
<dt>Reserved:</dt><dd>2-octet field. The value <bcp14>MUST</bcp14> be | ||||
<t>Reserved: 2 octet field. The value MUST be set to 0 when | set to 0 when | |||
originated and ignored on receipt.</t> | originated and ignored on receipt.</dd> | |||
<dt>Peer AS Number:</dt><dd>4 octets of the BGP AS number of the peer | ||||
<t>Peer AS Number : 4 octets of BGP AS number of the peer | router.</dd> | |||
router.</t> | <dt>Peer BGP Identifier:</dt><dd>4 octets of the BGP Identifier (BGP | |||
Router-ID) of the peer router.</dd> | ||||
<t>Peer BGP Identifier : 4 octets of the BGP Identifier (BGP | </dl> | |||
Router-ID) of the peer router.</t> | ||||
</list></t> | ||||
<t>For an SRv6 BGP EPE Peer Node SID, one instance of this TLV is | <t>For an SRv6 BGP EPE PeerNode SID, one instance of this TLV is | |||
associated with the SRv6 SID. For SRv6 BGP EPE Peer Set SID, multiple | associated with the SRv6 SID. For an SRv6 BGP EPE PeerSet SID, multiple | |||
instances of this TLV (one for each peer in the “peer | instances of this TLV (one for each peer in the "peer | |||
set”) are associated with the SRv6 SID and the S-Flag is | set") are associated with the SRv6 SID and the S-Flag is | |||
SET.</t> | set.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="SRSTRUCTTLV" numbered="true" toc="default"> | ||||
<section anchor="SRSTRUCTTLV" title="SRv6 SID Structure TLV"> | <name>SRv6 SID Structure TLV</name> | |||
<t>The SRv6 SID Structure TLV is used to advertise the length of each | <t>The SRv6 SID Structure TLV is used to advertise the length of each | |||
individual part of the SRv6 SID as defined in <xref target="RFC8986"/>. | individual part of the SRv6 SID as defined in <xref target="RFC8986" forma t="default"/>. | |||
It is an optional TLV for use in the BGP-LS Attribute for an SRv6 SID | It is an optional TLV for use in the BGP-LS Attribute for an SRv6 SID | |||
NLRI and as a sub-TLV of the SRv6 End.X SID, IS-IS SRv6 LAN End.X SID, | NLRI and as a sub-TLV of the SRv6 End.X SID, IS-IS SRv6 LAN End.X SID, | |||
and OSPFv3 SRv6 LAN End.X SID TLVs.</t> | and OSPFv3 SRv6 LAN End.X SID TLVs.</t> | |||
<t>When advertising SRv6 SIDs from the IGPs, the SRv6 SID Structure | <t>When advertising SRv6 SIDs from the IGPs, the SRv6 SID Structure | |||
information is derived from the IS-IS SRv6 SID Structure sub-sub-TLV | information is derived from the IS-IS SRv6 SID Structure sub-sub-TLV | |||
(section 9 of <xref target="I-D.ietf-lsr-isis-srv6-extensions"/>) or the | (<xref target="RFC9352" sectionFormat="of" section="9"/>) or the | |||
OSPFv3 SRv6 SID Structure sub-TLV (section 10 of <xref | OSPFv3 SRv6 SID Structure sub-TLV (<xref target="RFC9513" sectionFormat="o | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>) in the case of IS-IS or | f" section="10"/>) in the case of IS-IS or | |||
OSPFv3 respectively.</t> | OSPFv3, respectively.</t> | |||
<t>When advertising the SRv6 SIDs corresponding to the BGP EPE | <t>When advertising the SRv6 SIDs corresponding to the BGP EPE | |||
functionality or for advertising SRv6 SIDs using Direct Protocol-ID, the | functionality or for advertising SRv6 SIDs using Direct as the Protocol-ID , the | |||
SRv6 SID Structure information is derived from the locally provisioned | SRv6 SID Structure information is derived from the locally provisioned | |||
SRv6 SID.</t> | SRv6 SID.</t> | |||
<t>The TLV has the following format:</t> | <t>The TLV has the following format:</t> | |||
<figure anchor="SRSIDSTRUCT"> | ||||
<t><figure anchor="SRSIDSTRUCT" title="SRv6 SID Structure TLV"> | <name>SRv6 SID Structure TLV</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| LB Length | LN Length | Fun. Length | Arg. Length | | | LB Length | LN Length | Fun. Length | Arg. Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Type: 1252</t> | </figure> | |||
<t>Length: 4</t> | ||||
<t>LB Length: 1 octet field. SRv6 SID Locator Block length in | ||||
bits.</t> | ||||
<t>LN Length: 1 octet field. SRv6 SID Locator Node length in | ||||
bits.</t> | ||||
<t>Fun. Length: 1 octet field. SRv6 SID Function length in bits.</t> | <t>where:</t> | |||
<t>Arg. Length: 1 octet field. SRv6 SID Argument length in bits.</t> | <dl newline="false" spacing="normal"> | |||
</list></t> | <dt>Type:</dt><dd>1252</dd> | |||
<dt>Length:</dt><dd>4</dd> | ||||
<dt>LB Length:</dt><dd>1-octet field. SRv6 SID Locator Block length in | ||||
bits.</dd> | ||||
<dt>LN Length:</dt><dd>1-octet field. SRv6 SID Locator Node length in | ||||
bits.</dd> | ||||
<dt>Fun. Length:</dt><dd>1-octet field. SRv6 SID Function length in bits | ||||
.</dd> | ||||
<dt>Arg. Length:</dt><dd>1-octet field. SRv6 SID Argument length in bits | ||||
.</dd> | ||||
</dl> | ||||
<t>The sum of the LB Length, LN Length, Func. Length, and Arg. Length | <t>The sum of the LB Length, LN Length, Fun. Length, and Arg. Length | |||
MUST be less than or equal to 128.</t> | <bcp14>MUST</bcp14> be less than or equal to 128.</t> | |||
</section> | </section> | |||
<section anchor="IANA" numbered="true" toc="default"> | ||||
<name>IANA Considerations</name> | ||||
<section anchor="IANA" title="IANA Considerations"> | <t>Per this document, IANA has allocated code points in the "Border | |||
<t>This document requests assigning code points from the IANA "Border | Gateway Protocol - Link State (BGP-LS) Parameters" registry group, as | |||
Gateway Protocol - Link State (BGP-LS) Parameters" registry group as | ||||
described in the subsections below.</t> | described in the subsections below.</t> | |||
<section anchor="NLRITYPES" numbered="true" toc="default"> | ||||
<section anchor="NLRITYPES" title="BGP-LS NLRI-Types"> | <name>BGP-LS NLRI Types</name> | |||
<t>The following code points have been assigned by IANA from the | <t>IANA has assigned the following code points in the | |||
registry called "BGP-LS NLRI-Types":</t> | "BGP-LS NLRI Types" registry:</t> | |||
<table anchor="IANANLRI"> | ||||
<t><figure anchor="IANANLRI" title="SRv6 SID NLRI Type Code Point"> | <name>Addition to BGP-LS NLRI Types Registry</name> | |||
<artwork><![CDATA[ +------+----------------------------+------------ | <thead> | |||
---+ | <tr> | |||
| Type | NLRI Type | Reference | | <th>Type</th> | |||
+------+----------------------------+---------------+ | <th>NLRI Type</th> | |||
| 6 | SRv6 SID NLRI | this document | | <th>Reference</th> | |||
+------+----------------------------+---------------+ | </tr> | |||
]]></artwork> | </thead> | |||
</figure></t> | <tbody> | |||
<tr> | ||||
<td>6</td> | ||||
<td>SRv6 SID NLRI</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="BGPLSTLVS" numbered="true" toc="default"> | ||||
<section anchor="BGPLSTLVS" title="BGP-LS TLVs"> | <name>BGP-LS NLRI and Attribute TLVs</name> | |||
<t>The following TLV code points have been assigned by IANA from the | <t>IANA has assigned the following TLV code points in the "BGP-LS NLRI a | |||
registry called "BGP-LS Node Descriptor, Link Descriptor, Prefix | nd Attribute TLVs" registry:</t> | |||
Descriptor, and Attribute TLVs":</t> | <table anchor="ATTRTYPES"> | |||
<name>Additions to BGP-LS NLRI and Attribute TLVs Registry</name> | ||||
<t><figure anchor="ATTRTYPES" | <thead> | |||
title="SRv6 BGP-LS Attribute TLV Code Points"> | <tr> | |||
<artwork><![CDATA[+----------+-------------------------------------- | <th>TLV Code Point</th> | |||
--+---------------+ | <th>Description</th> | |||
| TLV Code | Description | Value defined | | <th>Reference</th> | |||
| Point | | in | | </tr> | |||
+----------+----------------------------------------+---------------+ | </thead> | |||
| 518 | SRv6 SID Information | this document | | <tbody> | |||
| 1038 | SRv6 Capabilities | this document | | <tr> | |||
| 1106 | SRv6 End.X SID | this document | | <td>518</td> | |||
| 1107 | IS-IS SRv6 LAN End.X SID | this document | | <td>SRv6 SID Information</td> | |||
| 1108 | OSPFv3 SRv6 LAN End.X SID | this document | | <td>RFC 9514</td> | |||
| 1162 | SRv6 Locator | this document | | </tr> | |||
| 1250 | SRv6 Endpoint Behavior | this document | | <tr> | |||
| 1251 | SRv6 BGP Peer Node SID | this document | | <td>1038</td> | |||
| 1252 | SRv6 SID Structure | this document | | <td>SRv6 Capabilities</td> | |||
+----------+----------------------------------------+---------------+]]></artwor | <td>RFC 9514</td> | |||
k> | </tr> | |||
</figure></t> | <tr> | |||
<td>1106</td> | ||||
<td>SRv6 End.X SID</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1107</td> | ||||
<td>IS-IS SRv6 LAN End.X SID</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1108</td> | ||||
<td>OSPFv3 SRv6 LAN End.X SID</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1162</td> | ||||
<td>SRv6 Locator</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1250</td> | ||||
<td>SRv6 Endpoint Behavior</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1251</td> | ||||
<td>SRv6 BGP PeerNode SID</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1252</td> | ||||
<td>SRv6 SID Structure</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="BGPEPEFLAGS" numbered="true" toc="default"> | ||||
<section anchor="BGPEPEFLAGS" title="SRv6 BGP EPE SID Flags"> | <name>SRv6 BGP EPE SID Flags</name> | |||
<t>This document requests the creation of a new registry called "SRv6 | <t>Per this document, IANA has created a new registry called "SRv6 | |||
BGP EPE SID Flags" under the "Border Gateway Protocol - Link State | BGP EPE SID Flags" under the "Border Gateway Protocol - Link State | |||
(BGP-LS) Parameters" registry group. The allocation policy of this | (BGP-LS) Parameters" registry group. The allocation policy of this | |||
registry is "Standards Action" according to <xref | registry is "Standards Action" according to <xref target="RFC8126" forma | |||
target="RFC8126"/>.</t> | t="default"/>.</t> | |||
<t>The initial contents of the registry are as follows:</t> | ||||
<t>The following flags are defined: <figure anchor="EPEFLAGS" | <table anchor="EPEFLAGS"> | |||
title="SRv6 BGP EPE SID Flags"> | <name>New SRv6 BGP EPE SID Flags Registry</name> | |||
<artwork align="center"><![CDATA[ Bit Description | <thead> | |||
Reference | <tr> | |||
0 Backup Flag (B-Flag) This document | <th>Bit</th> | |||
1 Set Flag (S-Flag) This document | <th>Description</th> | |||
2 Persistent Flag (P-Flag) This document | <th>Reference</th> | |||
3-7 Unassigned ]]></artwork> | </tr> | |||
</figure></t> | </thead> | |||
<tbody> | ||||
<tr> | ||||
<td>0</td> | ||||
<td>Backup Flag (B-Flag)</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1</td> | ||||
<td>Set Flag (S-Flag)</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>2</td> | ||||
<td>Persistent Flag (P-Flag)</td> | ||||
<td>RFC 9514</td> | ||||
</tr> | ||||
<tr> | ||||
<td>3-7</td> | ||||
<td>Unassigned</td> | ||||
<td></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Manageability" numbered="true" toc="default"> | ||||
<section anchor="Manageability" title="Manageability Considerations"> | <name>Manageability Considerations</name> | |||
<t>This section is structured as recommended in <xref | <t>This section is structured as recommended in <xref target="RFC5706" for | |||
target="RFC5706"/>.</t> | mat="default"/>.</t> | |||
<t>The new protocol extensions introduced in this document augment the | <t>The new protocol extensions introduced in this document augment the | |||
existing IGP topology information that is distributed via <xref | existing IGP topology information that is distributed via <xref target="RF | |||
target="RFC7752"/>. Procedures and protocol extensions defined in this | C7752" format="default"/>. Procedures and protocol extensions defined in this | |||
document do not affect the BGP protocol operations and management other | document do not affect the BGP protocol operations and management other | |||
than as discussed in the Manageability Considerations section of <xref | than as discussed in Section <xref target="RFC7752" sectionFormat="bare" s | |||
target="RFC7752"/>. Specifically, the malformed attribute tests for | ection="6">Manageability Considerations</xref> of <xref target="RFC7752"/>. Spec | |||
syntactic checks in the Fault Management section of <xref | ifically, the malformed attribute tests for | |||
target="RFC7752"/> now encompass the new BGP-LS extensions defined in | syntactic checks in Section <xref target="RFC7752" sectionFormat="bare" se | |||
ction="6.2.2">Fault Management</xref> of <xref target="RFC7752"/> now encompass | ||||
the new BGP-LS extensions defined in | ||||
this document. The semantic or content checking for the TLVs specified | this document. The semantic or content checking for the TLVs specified | |||
in this document and their association with the BGP-LS NLRI types or | in this document and their association with the BGP-LS NLRI types or | |||
their BGP-LS Attribute is left to the consumer of the BGP-LS information | their BGP-LS Attribute are left to the consumer of the BGP-LS information | |||
(e.g., an application or a controller) and not the BGP protocol.</t> | (e.g., an application or a controller) and not BGP.</t> | |||
<t>The SR information introduced in BGP-LS by this specification may be | <t>The SR information introduced in BGP-LS by this specification may be | |||
used by BGP-LS consumer applications like an SR path computation engine | used by BGP-LS consumer applications like an SR Path Computation Engine | |||
(PCE) to learn the SRv6 capabilities of the nodes in the topology and | (PCE) to learn the SRv6 capabilities of the nodes in the topology and the | |||
the mapping of SRv6 segments to those nodes. This can enable the SR PCE | mapping of SRv6 segments to those nodes. This can enable the SR PCE | |||
to perform path computations based on SR for traffic engineering | to perform path computations based on SR for traffic-engineering | |||
use-cases and to steer traffic on paths different from the underlying | use cases and to steer traffic on paths different from the underlying | |||
IGP based distributed best path computation. Errors in the encoding or | IGP-based distributed best path computation. Errors in the encoding or | |||
decoding of the SRv6 information may result in the unavailability of | decoding of the SRv6 information may result in the unavailability of | |||
such information to the SR PCE or incorrect information being made | such information to the SR PCE or incorrect information being made | |||
available to it. This may result in the SR PCE not being able to perform | available to it. This may result in the SR PCE not being able to perform | |||
the desired SR-based optimization functionality or to perform it in an | the desired SR-based optimization functionality or performing it in an | |||
unexpected or inconsistent manner. The handling of such errors by | unexpected or inconsistent manner. The handling of such errors by | |||
applications like SR PCE may be implementation-specific and out of the | applications like SR PCE may be implementation specific and out of the | |||
scope of this document.</t> | scope of this document.</t> | |||
<t>The manageability considerations related to BGP EPE functionality are | <t>The manageability considerations related to BGP EPE functionality are | |||
discussed in <xref target="RFC9086"/> in the context of SR-MPLS and they | discussed in <xref target="RFC9086" format="default"/> in the context of S R-MPLS; they | |||
also apply to this document in the context of SRv6.</t> | also apply to this document in the context of SRv6.</t> | |||
<t>The extensions specified in this document do not introduce any new | ||||
<t>The extensions, specified in this document, do not introduce any new | ||||
configuration or monitoring aspects in BGP or BGP-LS other than as | configuration or monitoring aspects in BGP or BGP-LS other than as | |||
discussed in <xref target="RFC7752"/>. The manageability aspects of the | discussed in <xref target="RFC7752" format="default"/>. The manageability | |||
underlying SRv6 features are covered by <xref | aspects of the | |||
target="I-D.ietf-spring-srv6-yang"/>.</t> | underlying SRv6 features are covered by <xref target="I-D.ietf-spring-srv6 | |||
-yang" format="default"/>.</t> | ||||
</section> | </section> | |||
<section anchor="Security" numbered="true" toc="default"> | ||||
<section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
<t>The new protocol extensions introduced in this document augment the | <t>The new protocol extensions introduced in this document augment the | |||
existing IGP topology information that is distributed via <xref | existing IGP topology information that is distributed via <xref | |||
target="RFC7752"/>. The advertisement of the SRv6 link-state information | target="RFC7752" format="default"/>. The advertisement of the SRv6 | |||
defined in this document presents a similar risk as associated with the | link-state information defined in this document presents a similar risk | |||
existing set of link-state information as described in <xref | as associated with the existing link-state information as described in | |||
target="RFC7752"/>. The Security Considerations section of <xref | <xref target="RFC7752" format="default"/>. Section <xref target="RFC7752" | |||
target="RFC7752"/> also applies to these extensions. The procedures and | sectionFormat="bare" section="8">Security Considerations</xref> of <xref t | |||
new TLVs defined in this document, by themselves, do not affect the | arget="RFC7752"/> also applies to these extensions. The | |||
BGP-LS security model discussed in <xref target="RFC7752"/>.</t> | procedures and new TLVs defined in this document, by themselves, do not | |||
affect the BGP-LS security model discussed in <xref target="RFC7752" | ||||
<t>The extensions introduced in this document are used to propagate IGP | format="default"/>.</t> | |||
defined information (<xref target="I-D.ietf-lsr-isis-srv6-extensions"/> | <t>The extensions introduced in this document are used to propagate | |||
and <xref target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>). These | IGP-defined information <xref target="RFC9352" format="default"/> <xref | |||
extensions represent the advertisement of SRv6 information associated | target="RFC9513" format="default"/>. These extensions represent the | |||
with the IGP node, link, and prefix. The IGP instances originating these | advertisement of SRv6 information associated with the IGP node, link, | |||
TLVs are assumed to support all the required security and authentication | and prefix. The IGP instances originating these TLVs are assumed to | |||
mechanisms (as described in <xref | support all the required security and authentication mechanisms (as | |||
target="I-D.ietf-lsr-isis-srv6-extensions"/> and <xref | described in <xref target="RFC9352" format="default"/> and <xref | |||
target="I-D.ietf-lsr-ospfv3-srv6-extensions"/>).</t> | target="RFC9513" format="default"/>).</t> | |||
<t>The security considerations related to BGP EPE functionality are | <t>The security considerations related to BGP EPE functionality are | |||
discussed in <xref target="RFC9086"/> in the context of SR-MPLS and they | discussed in <xref target="RFC9086" format="default"/> in the context of S R-MPLS, and they | |||
also apply to this document in the context of SRv6.</t> | also apply to this document in the context of SRv6.</t> | |||
<t>BGP-LS SRv6 extensions enable traffic-engineering use cases within | ||||
<t>BGP-LS SRv6 extensions enable traffic engineering use-cases within | the SR domain. SR operates within a trusted domain <xref target="RFC8402" | |||
the Segment Routing domain. SR operates within a trusted domain <xref | format="default"/>, and its security considerations also apply to BGP-LS | |||
target="RFC8402"/> and its security considerations also apply to BGP-LS | sessions when carrying SR information. The SR traffic-engineering | |||
sessions when carrying SR information. The SR traffic engineering | ||||
policies using the SIDs advertised via BGP-LS are expected to be used | policies using the SIDs advertised via BGP-LS are expected to be used | |||
entirely within this trusted SR domain (e.g., between multiple AS or IGP | entirely within this trusted SR domain (e.g., between multiple AS or IGP | |||
domains within a single provider network). Therefore, precaution is | domains within a single provider network). Therefore, precaution is | |||
necessary to ensure that the link-state information (including SRv6 | necessary to ensure that the link-state information (including SRv6 | |||
information) advertised via BGP-LS sessions is securely limited to | information) advertised via BGP-LS sessions is securely limited to | |||
consumers within this trusted SR domain. BGP peering sessions for | consumers within this trusted SR domain. BGP peering sessions for | |||
address-families other than Link-State may be set up to routers outside | address families other than Link State may be set up to routers outside | |||
the SR domain. The isolation of BGP-LS peering sessions is RECOMMENDED | the SR domain. The isolation of BGP-LS peering sessions is <bcp14>RECOMMEN | |||
DED</bcp14> | ||||
to ensure that BGP-LS topology information (including the newly added SR | to ensure that BGP-LS topology information (including the newly added SR | |||
information) is not advertised to an external BGP peering session | information) is not advertised to an external BGP peering session | |||
outside the SR domain.</t> | outside the SR domain.</t> | |||
</section> | </section> | |||
<section title="Contributors"> | ||||
<figure> | ||||
<artwork><![CDATA[James Uttaro | ||||
AT&T | ||||
USA | ||||
Email: ju1738@att.com | ||||
]]></artwork> | ||||
</figure> | ||||
<figure> | ||||
<artwork><![CDATA[Hani Elmalky | ||||
Ericsson | ||||
USA | ||||
Email: hani.elmalky@gmail.com | ||||
]]></artwork> | ||||
</figure> | ||||
<figure> | ||||
<artwork><![CDATA[Arjun Sreekantiah | ||||
Individual | ||||
USA | ||||
Email: arjunhrs@gmail.com | ||||
]]></artwork> | ||||
</figure> | ||||
<figure> | ||||
<artwork><![CDATA[Les Ginsberg | ||||
Cisco Systems | ||||
USA | ||||
Email: ginsberg@cisco.com]]></artwork> | ||||
</figure> | ||||
<figure> | ||||
<artwork><![CDATA[Shunwan Zhuang | ||||
Huawei | ||||
China | ||||
Email: zhuangshunwan@huawei.com]]></artwork> | ||||
</figure> | ||||
<t/> | ||||
</section> | ||||
<section anchor="Acknowledgements" title="Acknowledgements"> | ||||
<t>The authors would like to thank Peter Psenak, Arun Babu, Pablo | ||||
Camarillo, Francois Clad, Peng Shaofu, Cheng Li, Dhruv Dhody, Tom Petch, | ||||
and Dan Romascanu for their review of this document and their comments. | ||||
The authors would also like to thank Susan Hares for her shepherd review | ||||
and Adrian Farrel for his detailed Routing Directorate review.</t> | ||||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<references title="Normative References"> | ||||
<?rfc include='reference.RFC.8986.xml'?> | ||||
<?rfc include='reference.RFC.2119.xml'?> | ||||
<?rfc include='reference.RFC.8174.xml'?> | ||||
<?rfc include='reference.I-D.ietf-lsr-isis-srv6-extensions.xml'?> | <displayreference target="I-D.ietf-spring-srv6-yang" to="SRV6-YANG"/> | |||
<?rfc include='reference.I-D.ietf-lsr-ospfv3-srv6-extensions.xml'?> | ||||
<?rfc include='reference.RFC.7752.xml'?> | ||||
<?rfc include='reference.RFC.8402.xml'?> | ||||
<?rfc include='reference.RFC.9085.xml'?> | ||||
<?rfc include='reference.RFC.9086.xml'?> | ||||
<?rfc include='reference.RFC.8126.xml'?> | ||||
<?rfc include='reference.RFC.8814.xml'?> | <references> | |||
</references> | <name>References</name> | |||
<references> | ||||
<name>Normative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
986.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
119.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
174.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
352.xml"/> | ||||
<references title="Informative References"> | <!-- [I-D.ietf-lsr-ospfv3-srv6-extensions] in EDIT state as of 07/07/23; compani | |||
<?rfc include='reference.RFC.8754.xml'?> | on document RFC 9513 --> | |||
<reference anchor="RFC9513" target="https://www.rfc-editor.org/info/rfc9513"> | ||||
<front> | ||||
<title>OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)</title> | ||||
<author initials="Z." surname="Li" fullname="Zhenbin Li"> | ||||
<organization>Huawei Technologies</organization> | ||||
</author> | ||||
<author initials="Z." surname="Hu" fullname="Zhibo Hu"> | ||||
<organization>Huawei Technologies</organization> | ||||
</author> | ||||
<author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar" role="edi | ||||
tor"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author initials="P." surname="Psenak" fullname="Peter Psenak"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<date month="November" year="2023"/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9513"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9513"/> | ||||
</reference> | ||||
<?rfc include='reference.RFC.5706.xml'?> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | |||
752.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
402.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
085.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
086.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
126.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
814.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
754.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
706.xml"/> | ||||
<?rfc include='reference.I-D.ietf-spring-srv6-yang.xml'?> | <!-- [I-D.ietf-spring-srv6-yang] IESG state Expired --> | |||
<reference anchor="I-D.ietf-spring-srv6-yang" target="https://datatracker.ietf.o | ||||
rg/doc/html/draft-ietf-spring-srv6-yang-02"> | ||||
<front> | ||||
<title>YANG Data Model for SRv6 Base and Static</title> | ||||
<author fullname="Syed Raza" initials="S." surname="Raza"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author fullname="Sonal Agarwal" initials="S." surname="Agarwal"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author fullname="Xufeng Liu" initials="X." surname="Liu"> | ||||
<organization>Volta Networks</organization> | ||||
</author> | ||||
<author fullname="Zhibo Hu" initials="Z." surname="Hu"> | ||||
<organization>Huawei Technologies</organization> | ||||
</author> | ||||
<author fullname="Iftekhar Hussain" initials="I." surname="Hussain"> | ||||
<organization>Infinera Corporation</organization> | ||||
</author> | ||||
<author fullname="Himanshu C. Shah" initials="H. C." surname="Shah"> | ||||
<organization>Ciena Corporation</organization> | ||||
</author> | ||||
<author fullname="Daniel Voyer" initials="D." surname="Voyer"> | ||||
<organization>Bell Canada</organization> | ||||
</author> | ||||
<author fullname="Satoru Matsushima" initials="S." surname="Matsushima"> | ||||
<organization>SoftBank</organization> | ||||
</author> | ||||
<author fullname="Katsuhiro Horiba" initials="K." surname="Horiba"> | ||||
<organization>SoftBank</organization> | ||||
</author> | ||||
<author fullname="Jaganbabu Rajamanickam" initials="J." surname="Rajamanickam"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author fullname="Ahmed Abdelsalam" initials="A." surname="Abdelsalam"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<date day="23" month="September" year="2022"/> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-yang-02"/> | ||||
</reference> | ||||
</references> | ||||
</references> | </references> | |||
<section anchor="BGPEPE" numbered="true" toc="default"> | ||||
<section anchor="BGPEPE" title="Differences with BGP-EPE for SR-MPLS"> | <name>Differences with BGP-EPE for SR-MPLS</name> | |||
<t>The signaling of SRv6 SIDs corresponding to BGP-EPE functionality as | <t>The signaling of SRv6 SIDs corresponding to BGP-EPE functionality as | |||
defined in this document differ from the signaling of SR-MPLS BGP-EPE | defined in this document differs from the signaling of SR-MPLS BGP-EPE | |||
SIDs as specified in <xref target="RFC9086"/>. This section provides a | SIDs as specified in <xref target="RFC9086" format="default"/>. This secti | |||
on provides a | ||||
high-level overview of the same.</t> | high-level overview of the same.</t> | |||
<t>There is no difference in the advertisement of the BGP Peer Adjacency | <t>There is no difference in the advertisement of the BGP Peer Adjacency | |||
SID in both SR-MPLS and SRv6 and it is advertised as an attribute of the | SID in both SR-MPLS and SRv6, and it is advertised as an attribute of the | |||
Link NLRI which identifies a specific Layer 3 interface on the BGP | Link NLRI, which identifies a specific Layer 3 interface on the BGP | |||
Speaker. The difference is in the advertisement of the BGP Peer Node and | Speaker. The difference is in the advertisement of the BGP PeerNode and | |||
Peer Set SIDs.</t> | PeerSet SIDs.</t> | |||
<t>In the case of SR-MPLS, an additional Link NLRI is required to be | ||||
<t>In case of SR-MPLS, an additional Link NLRI is required to be | advertised corresponding to each BGP peering session on the node. Note | |||
advertised corresponding to each BGP Peering session on the node. Note | that this is not the same Link NLRI associated with the actual Layer 3 | |||
that, this is not the same Link NLRI associated with the actual layer 3 | ||||
interface even when the peering is set up using the interface IP | interface even when the peering is set up using the interface IP | |||
addresses. These BGP-LS Link NLRIs are not really links in the | addresses. These BGP-LS Link NLRIs are not really links in the | |||
conventional link-state routing data model but instead identify BGP | conventional link-state routing data model but instead identify BGP | |||
peering sessions. The BGP Peer Node and/or Peer Set SIDs associated with | peering sessions. The BGP PeerNode and/or PeerSet SIDs associated with | |||
that peering session are advertised as attributes associated with this | that peering session are advertised as attributes associated with this | |||
peering Link NLRI. In the case of SRv6, each BGP Peer Node or Peer Set | peering Link NLRI. In the case of SRv6, each BGP PeerNode or PeerSet | |||
SID is considered to be associated with the BGP Speaker node and is | SID is considered to be associated with the BGP Speaker Node and is | |||
advertised using the BGP-LS SRv6 SID NLRI while the peering session | advertised using the BGP-LS SRv6 SID NLRI, while the peering session | |||
information is advertised as attributes associated with it.</t> | information is advertised as attributes associated with it.</t> | |||
<t>The advertisement of the BGP PeerSet SID for SR-MPLS is done by | ||||
<t>The advertisement of the BGP Peer Set SID for SR-MPLS is done by | ||||
including that SID as an attribute in all the Link NLRIs corresponding | including that SID as an attribute in all the Link NLRIs corresponding | |||
to the peering sessions that are part of the "set". The advertisement of | to the peering sessions that are part of the "set". The advertisement of | |||
the BGP Peer Set SID for SRv6 is advertised using a single SRv6 SID NLRI | the BGP PeerSet SID for SRv6 is advertised using a single SRv6 SID NLRI, | |||
and all the peers associated with that "set" are indicated as attributes | and all the peers associated with that "set" are indicated as attributes | |||
associated with the NLRI.</t> | associated with the NLRI.</t> | |||
</section> | ||||
<t/> | <section anchor="Acknowledgements" numbered="false" toc="default"> | |||
<name>Acknowledgements</name> | ||||
<t>The authors would like to thank <contact fullname="Peter Psenak"/>, | ||||
<contact fullname="Arun Babu"/>, <contact fullname="Pablo Camarillo"/>, | ||||
<contact fullname="Francois Clad"/>, <contact fullname="Peng Shaofu"/>, | ||||
<contact fullname="Cheng Li"/>, <contact fullname="Dhruv Dhody"/>, | ||||
<contact fullname="Tom Petch"/>, and <contact fullname="Dan Romascanu"/> | ||||
for their review of this document and their comments. The authors would | ||||
also like to thank <contact fullname="Susan Hares"/> for her shepherd | ||||
review and <contact fullname="Adrian Farrel"/> for his detailed Routing Ar | ||||
ea | ||||
Directorate review.</t> | ||||
</section> | ||||
<section numbered="false" toc="default"> | ||||
<name>Contributors</name> | ||||
<contact fullname="James Uttaro" > | ||||
<organization>AT&T</organization> | ||||
<address> | ||||
<postal> | ||||
<country>United States of America</country> | ||||
</postal> | ||||
<email>ju1738@att.com</email> | ||||
</address> | ||||
</contact> | ||||
<contact fullname="Hani Elmalky"> | ||||
<organization>Ericsson</organization> | ||||
<address> | ||||
<postal> | ||||
<country>United States of America</country> | ||||
</postal> | ||||
<email>hani.elmalky@gmail.com</email> | ||||
</address> | ||||
</contact> | ||||
<contact fullname="Arjun Sreekantiah"> | ||||
<organization>Individual</organization> | ||||
<address> | ||||
<postal> | ||||
<country>United States of America</country> | ||||
</postal> | ||||
<email>arjunhrs@gmail.com</email> | ||||
</address> | ||||
</contact> | ||||
<contact fullname="Les Ginsberg"> | ||||
<organization>Cisco Systems</organization> | ||||
<address> | ||||
<postal> | ||||
<country>United States of America</country> | ||||
</postal> | ||||
<email>ginsberg@cisco.com</email> | ||||
</address> | ||||
</contact> | ||||
<contact fullname="Shunwan Zhuang"> | ||||
<organization>Huawei</organization> | ||||
<address> | ||||
<postal> | ||||
<country>China</country> | ||||
</postal> | ||||
<email>zhuangshunwan@huawei.com</email> | ||||
</address> | ||||
</contact> | ||||
</section> | </section> | |||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 203 change blocks. | ||||
881 lines changed or deleted | 1025 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |