rfc9513xml2.original.xml | rfc9513.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | ||||
<?rfc toc="yes"?> | <!DOCTYPE rfc [ | |||
<?rfc tocompact="yes"?> | <!ENTITY nbsp " "> | |||
<?rfc tocdepth="3"?> | <!ENTITY zwsp "​"> | |||
<?rfc tocindent="yes"?> | <!ENTITY nbhy "‑"> | |||
<?rfc symrefs="yes"?> | <!ENTITY wj "⁠"> | |||
<?rfc sortrefs="yes"?> | ]> | |||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | |||
<?rfc compact="yes"?> | std" | |||
<?rfc subcompact="no"?> | consensus="true" docName="draft-ietf-lsr-ospfv3-srv6-extensions-15" number="9513 | |||
<rfc category="std" docName="draft-ietf-lsr-ospfv3-srv6-extensions-15" | " ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" tocD | |||
ipr="trust200902"> | epth="3" | |||
symRefs="true" sortRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.17.4 --> | ||||
<front> | <front> | |||
<title abbrev="OSPFv3 Extensions for SRV6 ">OSPFv3 Extensions for | <title abbrev="OSPFv3 Extensions for SRV6 ">OSPFv3 Extensions for | |||
SRv6</title> | Segment Routing over IPv6 (SRv6)</title> | |||
<seriesInfo name="RFC" value="9513"/> | ||||
<author fullname="Zhenbin Li" initials="Z." surname="Li"> | <author fullname="Zhenbin Li" initials="Z." surname="Li"> | |||
<organization>Huawei Technologies</organization> | <organization>Huawei Technologies</organization> | |||
<address> | <address> | |||
<postal> | ||||
<street/> | ||||
<city/> | ||||
<region/> | ||||
<code/> | ||||
<country/> | ||||
</postal> | ||||
<email>lizhenbin@huawei.com</email> | <email>lizhenbin@huawei.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Zhibo Hu" initials="Z." surname="Hu"> | <author fullname="Zhibo Hu" initials="Z." surname="Hu"> | |||
<organization>Huawei Technologies</organization> | <organization>Huawei Technologies</organization> | |||
<address> | <address> | |||
<postal> | ||||
<street/> | ||||
<city/> | ||||
<region/> | ||||
<code/> | ||||
<country/> | ||||
</postal> | ||||
<email>huzhibo@huawei.com</email> | <email>huzhibo@huawei.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/> | ||||
<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="Peter Psenak" initials="P." surname="Psenak"> | <author fullname="Peter Psenak" initials="P." surname="Psenak"> | |||
<organization>Cisco Systems</organization> | <organization>Cisco Systems</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | ||||
<city/> | ||||
<region/> | ||||
<code/> | ||||
<country>Slovakia</country> | <country>Slovakia</country> | |||
</postal> | </postal> | |||
<email>ppsenak@cisco.com</email> | <email>ppsenak@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2023" month="November" /> | ||||
<date year=""/> | <area>rtg</area> | |||
<workgroup>lsr</workgroup> | ||||
<area>Routing</area> | ||||
<workgroup>Link State Routing</workgroup> | ||||
<keyword>OSPF</keyword> | <keyword>OSPF</keyword> | |||
<keyword>OSPFv3</keyword> | <keyword>OSPFv3</keyword> | |||
<keyword>Segment Routing</keyword> | <keyword>Segment Routing</keyword> | |||
<keyword>SRv6</keyword> | <keyword>SRv6</keyword> | |||
<abstract> | <abstract> | |||
<t>The Segment Routing (SR) architecture allows a flexible definition of | <t>The Segment Routing (SR) architecture allows a flexible definition of | |||
the end-to-end path by encoding it as a sequence of topological elements | the end-to-end path by encoding it as a sequence of topological elements | |||
called segments. It can be implemented over an MPLS or IPv6 data plane. | called segments. It can be implemented over an MPLS or IPv6 data plane. | |||
This document describes the OSPFv3 extensions required to support | This document describes the OSPFv3 extensions required to support | |||
Segment Routing over the IPv6 data plane (SRv6).</t> | SR over the IPv6 data plane.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="intro" title="Introduction"> | <section anchor="intro" numbered="true" toc="default"> | |||
<t>The Segment Routing (SR) architecture <xref target="RFC8402"/> | <name>Introduction</name> | |||
<t>The Segment Routing (SR) architecture <xref target="RFC8402" format="de | ||||
fault"/> | ||||
specifies how a node can steer a packet using an ordered list of | specifies how a node can steer a packet using an ordered list of | |||
instructions, called segments. These segments are identified using | instructions called segments. These segments are identified using | |||
Segment Identifiers (SIDs).</t> | Segment Identifiers (SIDs).</t> | |||
<t>SR can be instantiated on the IPv6 data plane through | ||||
<t>Segment Routing can be instantiated on the IPv6 data plane through | the use of the Segment Routing Header (SRH) defined in <xref target="RFC87 | |||
the use of the Segment Routing Header (SRH) defined in <xref | 54" format="default"/>. SR instantiation on the IPv6 data plane | |||
target="RFC8754"/>. Segment Routing instantiation on the IPv6 dataplane | ||||
is referred to as SRv6.</t> | is referred to as SRv6.</t> | |||
<t>The network programming paradigm for SRv6 is specified in <xref target= | ||||
<t>The network programming paradigm for SRv6 is specified in <xref | "RFC8986" format="default"/>. It describes how any behavior can be bound to a SI | |||
target="RFC8986"/>. It describes how any behavior can be bound to a SID | D | |||
and how any network program can be expressed as a combination of SIDs. | and how any network program can be expressed as a combination of SIDs. | |||
It also describes several well-known behaviors that can be bound to SRv6 | It also describes several well-known behaviors that can be bound to SRv6 | |||
SIDs.</t> | SIDs.</t> | |||
<t>This document specifies OSPFv3 extensions to support SRv6 | <t>This document specifies OSPFv3 extensions to support SRv6 | |||
capabilities as defined in <xref target="RFC8986"/>, <xref | capabilities as defined in <xref target="RFC8986" format="default"/>, <xre | |||
target="RFC8754"/>, and <xref target="RFC9259"/>. The extensions include | f target="RFC8754" format="default"/>, and <xref target="RFC9259" format="defaul | |||
t"/>. The extensions include | ||||
advertisement of an OSPFv3 router's SRv6 capabilities, SRv6 Locators, | advertisement of an OSPFv3 router's SRv6 capabilities, SRv6 Locators, | |||
and required SRv6 SIDs along with their supported endpoint behaviors. | and required SRv6 SIDs along with their supported Endpoint behaviors. | |||
Familiarity with <xref target="RFC8986"/> is necessary to understand the | Familiarity with <xref target="RFC8986" format="default"/> is necessary to | |||
understand the | ||||
extensions specified in this document.</t> | extensions specified in this document.</t> | |||
<t>At a high level, the extensions to OSPFv3 are comprised of the | <t>At a high level, the extensions to OSPFv3 are comprised of the | |||
following:<list style="numbers"> | following:</t> | |||
<t>An SRv6 Capabilities TLV to advertise the SRv6 features and SRH | <ol spacing="normal" type="1"><li>An SRv6 Capabilities TLV to advertise th | |||
operations supported by an OSPFv3 router</t> | e SRv6 features and SRH | |||
operations supported by an OSPFv3 router.</li> | ||||
<t>Several sub-TLVs to advertise various SRv6 Maximum SID | <li>Several sub-TLVs to advertise various SRv6 Maximum SID | |||
Depths.</t> | Depths.</li> | |||
<li>An SRv6 Locator TLV using an SRv6 Locator Link State | ||||
<t>An SRv6 Locator TLV using an SRv6 Locator Link-State | Advertisement (LSA) to advertise the SRv6 Locator -- a form of | |||
Advertisement (LSA) to advertise the SRv6 Locator - a form of | ||||
summary address for the IGP algorithm-specific SIDs instantiated on | summary address for the IGP algorithm-specific SIDs instantiated on | |||
an OSPFv3 router</t> | an OSPFv3 router.</li> | |||
<li>TLVs and sub-TLVs to advertise the SRv6 SIDs instantiated on an | ||||
<t>TLVs and Sub-TLVs to advertise the SRv6 SIDs instantiated on an | OSPFv3 router along with their Endpoint behaviors.</li> | |||
OSPFv3 router along with their endpoint behaviors</t> | </ol> | |||
</list></t> | <section numbered="true" toc="default"> | |||
<name>Requirements Language</name> | ||||
<section title="Requirements Language"> | <t> | |||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
when, they appear in all capitals, as shown here.</t> | "<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="capability" numbered="true" toc="default"> | ||||
<section anchor="capability" title="SRv6 Capabilities TLV"> | <name>SRv6 Capabilities TLV</name> | |||
<t>The SRv6 Capabilities TLV is used by an OSPFv3 router to advertise | <t>The SRv6 Capabilities TLV is used by an OSPFv3 router to advertise | |||
its support for the SR Segment Endpoint Node <xref target="RFC8754"/> | its support for the SR Segment Endpoint Node <xref target="RFC8754" format ="default"/> | |||
functionality along with its SRv6-related capabilities. This is an | functionality along with its SRv6-related capabilities. This is an | |||
optional top level TLV of the OSPFv3 Router Information LSA <xref | optional top-level TLV of the OSPFv3 Router Information LSA <xref target=" | |||
target="RFC7770"/> which MUST be advertised by an SRv6-enabled | RFC7770" format="default"/> that <bcp14>MUST</bcp14> be advertised by an SRv6-en | |||
abled | ||||
router.</t> | router.</t> | |||
<t>This TLV <bcp14>MUST</bcp14> be advertised only once in the OSPFv3 Rout | ||||
<t>This TLV MUST be advertised only once in the OSPFv3 Router | er | |||
Information LSA. When multiple SRv6 Capabilities TLVs are received from | Information LSA. When multiple SRv6 Capabilities TLVs are received from | |||
a given router, the receiver MUST use the first occurrence of the TLV in | a given router, the receiver <bcp14>MUST</bcp14> use the first occurrence of the TLV in | |||
the OSPFv3 Router Information LSA. If the SRv6 Capabilities TLV appears | the OSPFv3 Router Information LSA. If the SRv6 Capabilities TLV appears | |||
in multiple OSPFv3 Router Information LSAs that have different flooding | in multiple OSPFv3 Router Information LSAs that have different flooding | |||
scopes, the TLV in the OSPFv3 Router Information LSA with the | scopes, the TLV in the OSPFv3 Router Information LSA with the | |||
area-scoped flooding scope MUST be used. If the SRv6 Capabilities TLV | area-scoped flooding scope <bcp14>MUST</bcp14> be used. If the SRv6 Capabi lities TLV | |||
appears in multiple OSPFv3 Router Information LSAs that have the same | appears in multiple OSPFv3 Router Information LSAs that have the same | |||
flooding scope, the TLV in the OSPFv3 Router Information LSA with the | flooding scope, the TLV in the OSPFv3 Router Information LSA with the | |||
numerically smallest Link State ID MUST be used and subsequent instances | numerically smallest Link State ID <bcp14>MUST</bcp14> be used, and subseq | |||
of the TLV MUST be ignored.</t> | uent instances | |||
of the TLV <bcp14>MUST</bcp14> be ignored.</t> | ||||
<t>The OSPFv3 Router Information LSA can be advertised at any of the | <t>The OSPFv3 Router Information LSA can be advertised at any of the | |||
defined flooding scopes (link, area, or Autonomous System (AS)). For the | defined flooding scopes (link, area, or Autonomous System (AS)). | |||
For the | ||||
purpose of SRv6 Capabilities TLV advertisement, area-scoped flooding is | purpose of SRv6 Capabilities TLV advertisement, area-scoped flooding is | |||
REQUIRED. Link and AS-scoped flooding is OPTIONAL.</t> | <bcp14>REQUIRED</bcp14>. Link and AS-scoped flooding is <bcp14>OPTIONAL</b | |||
cp14>.</t> | ||||
<t>The format of OSPFv3 SRv6 Capabilities TLV is shown below:</t> | <t>The format of the OSPFv3 SRv6 Capabilities TLV is shown below:</t> | |||
<figure anchor="SRV6CAPFMT"> | ||||
<figure anchor="SRV6CAPFMT" title="SRv6 Capabilities TLV"> | <name>SRv6 Capabilities TLV</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="center" 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 | Reserved | | | Flags | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLVs... | | Sub-TLVs... | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
</figure> | </figure> | |||
<t>Where:<list style="symbols"> | <t>where:</t> | |||
<t>Type: 2-octet field. The value for this type is 20.</t> | <dl newline="false"> | |||
<dt>Type:</dt><dd>2-octet field. The value for this type is 20.</dd> | ||||
<t>Length: 2-octet field. The total length (in octets) of the value | <dt>Length:</dt><dd>2-octet field. The total length (in octets) of the v | |||
portion of the TLV including nested Sub-TLVs.</t> | alue | |||
portion of the TLV, including nested sub-TLVs.</dd> | ||||
<t>Reserved: 2-octet field. It MUST be set to 0 on transmission and | <dt>Reserved:</dt><dd>2-octet field. It <bcp14>MUST</bcp14> be set to 0 | |||
MUST be ignored on receipt.</t> | on transmission and | |||
<bcp14>MUST</bcp14> be ignored on receipt.</dd> | ||||
<t>Flags: 2-octet field. The flags are defined as follows: <figure> | <dt>Flags:</dt><dd><t>2-octet field. The flags are defined as follows: | |||
<artwork><![CDATA[ 0 1 | </t> | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 1 | |||
| |O| | | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
</figure> where: <list style="symbols"> | | |O| | | |||
<t>O-flag: If set, then the router is capable of supporting the | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> | |||
O-bit in the SRH flags, as specified in <xref | ||||
target="RFC9259"/>.</t> | ||||
<t>Other flags are not defined and are reserved for future use. | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork> | |||
They MUST be set to 0 on transmission and MUST be ignored on | <t>where:</t> | |||
receipt.</t> | ||||
</list></t> | ||||
</list></t> | ||||
<t>The SRv6 Capabilities TLV may contain optional Sub-TLVs. No Sub-TLVs | <dl newline="false"> | |||
<dt>O-flag:</dt><dd>If set, then the router is capable of supporting | ||||
the | ||||
O-flag in the SRH flags, as specified in <xref target="RFC9259" fo | ||||
rmat="default"/>.</dd> | ||||
<dt>Other flags are not defined and are reserved for future use. | ||||
They <bcp14>MUST</bcp14> be set to 0 on transmission and | ||||
<bcp14>MUST</bcp14> be ignored on receipt.</dt><dd></dd> | ||||
</dl> | ||||
</dd> | ||||
</dl> | ||||
<t>The SRv6 Capabilities TLV may contain optional sub-TLVs. No sub-TLVs | ||||
are defined in this specification.</t> | are defined in this specification.</t> | |||
</section> | </section> | |||
<section anchor="algorithm" numbered="true" toc="default"> | ||||
<section anchor="algorithm" title="Advertisement of Supported Algorithms"> | <name>Advertisement of Supported Algorithms</name> | |||
<t>An SRv6-enabled OSPFv3 router advertises its algorithm support using | <t>An SRv6-enabled OSPFv3 router advertises its algorithm support using | |||
the SR-Algorithm TLV defined in <xref target="RFC8665"/> as described in | the SR-Algorithm TLV defined in <xref target="RFC8665" format="default"/> | |||
<xref target="RFC8666"/>.</t> | and as described in | |||
<xref target="RFC8666" format="default"/>.</t> | ||||
</section> | </section> | |||
<section anchor="SRH-limits" numbered="true" toc="default"> | ||||
<section anchor="SRH-limits" | <name>Advertisement of Maximum SRv6 SID Depths</name> | |||
title="Advertisement of Maximum SRv6 SID Depths"> | ||||
<t>An SRv6-enabled router may have different capabilities and limits | <t>An SRv6-enabled router may have different capabilities and limits | |||
related to SRH processing and these need to be advertised to other | related to SRH processing. These need to be advertised to other | |||
OSPFv3 routers in the SRv6 domain.</t> | OSPFv3 routers in the SRv6 domain.</t> | |||
<t><xref target="RFC8476" format="default"/> defines the means to advertis | ||||
<t><xref target="RFC8476"/> defines the means to advertise node and link | e node- and link-specific values for Maximum SID Depth (MSD) types. Node MSDs ar | |||
specific values for Maximum SID Depth (MSD) types. Node MSDs are | e | |||
advertised using the Node MSD TLV in the OSPFv3 Router Information LSA | advertised using the Node MSD TLV in the OSPFv3 Router Information LSA | |||
<xref target="RFC7770"/> while Link MSDs are advertised using the Link | <xref target="RFC7770" format="default"/>, while Link MSDs are advertised | |||
MSD Sub-TLV of the Router-Link TLV <xref target="RFC8362"/>. The format | using the Link | |||
of the MSD types for OSPFv3 is defined in <xref target="RFC8476"/>.</t> | MSD sub-TLV of the Router-Link TLV <xref target="RFC8362" format="default" | |||
/>. The format | ||||
<t>The MSD types for SRv6 that are defined in section 4 of <xref | of the MSD types for OSPFv3 is defined in <xref target="RFC8476" format="d | |||
target="RFC9352"/> for IS-IS are also used by OSPFv3. These MSD Types | efault"/>.</t> | |||
are allocated under the IGP MSD Types registry maintained by IANA that | <t>The MSD types for SRv6 that are defined in <xref target="RFC9352" secti | |||
are shared by IS-IS and OSPF. They are described below:</t> | onFormat="of" section="4"/> for IS-IS are also used by OSPFv3. These MSD types | |||
are allocated in the "IGP MSD-Types" registry maintained by IANA and | ||||
<section title="Maximum Segments Left MSD Type"> | are shared by IS-IS and OSPF. They are described in the subsections below. | |||
</t> | ||||
<section numbered="true" toc="default"> | ||||
<name>Maximum Segments Left MSD Type</name> | ||||
<t>The Maximum Segments Left MSD Type signals the maximum value of the | <t>The Maximum Segments Left MSD Type signals the maximum value of the | |||
"Segments Left" field of the SRH of a received packet before applying | Segments Left field of the SRH of a received packet before applying | |||
the Endpoint behavior associated with a SID. If no value is | the Endpoint behavior associated with a SID. If no value is | |||
advertised, the supported value is assumed to be 0.</t> | advertised, the supported value is assumed to be 0.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Maximum End Pop MSD Type"> | <name>Maximum End Pop MSD Type</name> | |||
<t>The Maximum End Pop MSD Type signals the maximum number of SIDs in | <t>The Maximum End Pop MSD Type signals the maximum number of SIDs in | |||
the SRH to which the router can apply "Penultimate Segment Pop (PSP) | the SRH to which the router can apply "Penultimate Segment Pop (PSP) | |||
of the SRH" or "Ultimate Segment Pop (USP) of the SRH", as defined in | of the SRH" or "Ultimate Segment Pop (USP) of the SRH", which are flavor | |||
<xref target="RFC8986"/> flavors. If the advertised value is zero or | s defined in | |||
no value is advertised, then the router cannot apply PSP or USP | <xref target="RFC8986" format="default"/>. If the advertised value is ze | |||
ro or | ||||
no value is advertised, then the router cannot apply the PSP or USP | ||||
flavors.</t> | flavors.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Maximum H.Encaps MSD Type"> | <name>Maximum H.Encaps MSD Type</name> | |||
<t>The Maximum H.Encaps MSD Type signals the maximum number of SIDs | <t>The Maximum H.Encaps MSD Type signals the maximum number of SIDs | |||
that can be added as part of the "H.Encaps" behavior as defined in | that can be added as part of the H.Encaps behavior as defined in | |||
<xref target="RFC8986"/>. If the advertised value is zero or no value | <xref target="RFC8986" format="default"/>. If the advertised value is ze | |||
is advertised then the headend can apply an SR Policy that only | ro or no value | |||
contains one segment, without inserting any SRH. A non-zero SRH Max | is advertised, then the headend can apply an SR Policy that only | |||
H.encaps MSD indicates that the headend can insert an SRH with SIDs up | contains one segment without inserting any SRH. A non-zero SRH Max | |||
H.Encaps MSD indicates that the headend can insert an SRH with SIDs up | ||||
to the advertised value.</t> | to the advertised value.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Maximum End D MSD Type"> | <name>Maximum End D MSD Type</name> | |||
<t>The Maximum End D MSD Type specifies the maximum number of SIDs | <t>The Maximum End D MSD Type specifies the maximum number of SIDs | |||
present in an SRH when performing decapsulation. These include, but | present in an SRH when performing decapsulation. These include, but | |||
are not limited to, End.DX6, End.DT4, End.DT46, End with USD, and | are not limited to, End.DX6, End.DT4, End.DT46, End with USD, and | |||
End.X with USD as defined in <xref target="RFC8986"/>. If the | End.X with USD as defined in <xref target="RFC8986" format="default"/>. If the | |||
advertised value is zero or no value is advertised, then the router | advertised value is zero or no value is advertised, then the router | |||
cannot apply any behavior that results in decapsulation and forwarding | cannot apply any behavior that results in decapsulation and forwarding | |||
of the inner packet when the outer IPv6 header contains an SRH.</t> | of the inner packet when the outer IPv6 header contains an SRH.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="SRv6-SID" numbered="true" toc="default"> | ||||
<section anchor="SRv6-SID" title="SRv6 SIDs and Reachability"> | <name>SRv6 SIDs and Reachability</name> | |||
<t>An SRv6 Segment Identifier (SID) is 128 bits and consists of Locator, | <t>An SRv6 SID is 128 bits and consists of locator, | |||
Function, and Argument parts as described in <xref | function, and argument parts as described in <xref target="RFC8986" format | |||
target="RFC8986"/>.</t> | ="default"/>.</t> | |||
<t>An OSPFv3 router is provisioned with algorithm-specific locators for | <t>An OSPFv3 router is provisioned with algorithm-specific locators for | |||
each algorithm supported by that router. Each locator is a covering | each algorithm supported by that router. Each locator is a covering | |||
prefix for all SIDs provisioned on that router that have the matching | prefix for all SIDs provisioned on that router that have the matching | |||
algorithm.</t> | algorithm.</t> | |||
<t>Locators <bcp14>MUST</bcp14> be advertised within an SRv6 Locator TLV ( | ||||
<t>Locators MUST be advertised within an SRv6 Locator TLV (see <xref | see <xref target="LOCTLV" format="default"/>) using an SRv6 Locator LSA (see <xr | |||
target="LOCTLV"/>) using an SRv6 Locator LSA (see <xref | ef target="LOCLSA" format="default"/>). The SRv6 Locator LSA is introduced inste | |||
target="LOCLSA"/>). The SRv6 Locator LSA is introduced instead of | ad of | |||
reusing the respective Extended Prefix LSAs <xref target="RFC8362"/> for | reusing the respective Extended Prefix LSAs <xref target="RFC8362" format= | |||
"default"/> for | ||||
a clear distinction between the two different types of reachability | a clear distinction between the two different types of reachability | |||
advertisements (viz., the base OSPFv3 prefix reachability advertisements | advertisements (viz., the base OSPFv3 prefix reachability advertisements | |||
and the SRv6 Locator reachability advertisements).</t> | and the SRv6 Locator reachability advertisements).</t> | |||
<t>Forwarding entries for the locators advertised in the SRv6 Locator | <t>Forwarding entries for the locators advertised in the SRv6 Locator | |||
TLV MUST be installed in the forwarding plane of receiving SRv6-capable | TLV <bcp14>MUST</bcp14> be installed in the forwarding plane of receiving SRv6-capable | |||
routers when the associated algorithm is supported by the receiving | routers when the associated algorithm is supported by the receiving | |||
OSPFv3 router. Locators can be of different route types that map to | OSPFv3 router. Locators can be of different route types that map to | |||
existing OSPFv3 LSA types - Intra-Area, Inter-Area, External, and NSSA. | existing OSPFv3 LSA types: Intra-Area, Inter-Area, External, and Not-So-St ubby Area (NSSA). | |||
The advertisement and propagation of the SRv6 Locator LSAs also follow | The advertisement and propagation of the SRv6 Locator LSAs also follow | |||
the OSPFv3 <xref target="RFC5340"/> specifications for the respective | the OSPFv3 <xref target="RFC5340" format="default"/> specifications for th e respective | |||
LSA types. The processing of the prefix advertised in the SRv6 Locator | LSA types. The processing of the prefix advertised in the SRv6 Locator | |||
TLV, the calculation of its reachability, and the installation in the | TLV, the calculation of its reachability, and the installation in the | |||
forwarding plane follows the OSPFv3 <xref target="RFC5340"/> | forwarding plane follows the OSPFv3 <xref target="RFC5340" format="default "/> | |||
specifications for the respective LSA types.</t> | specifications for the respective LSA types.</t> | |||
<t>Locators associated with algorithms 0 and 1 (refer to <xref target="RFC | ||||
<t>Locators associated with algorithms 0 and 1 (refer section 3.1.1 of | 8402" sectionFormat="of" section="3.1.1"/>) <bcp14>SHOULD</bcp14> also be advert | |||
<xref target="RFC8402"/>) SHOULD also be advertised using OSPFv3 | ised using Extended LSA types with extended TLVs <xref target="RFC8362" format=" | |||
Extended LSA types with extended TLVs <xref target="RFC8362"/> so that | default"/> so that | |||
routers that do not support SRv6 will install a forwarding entry for | routers that do not support SRv6 will install a forwarding entry for | |||
SRv6 traffic matching those locators. When operating in Extended LSA | SRv6 traffic matching those locators. When operating in Extended LSA | |||
sparse-mode <xref target="RFC8362"/>, these locators SHOULD be also | sparse-mode <xref target="RFC8362" format="default"/>, these locators <bcp | |||
advertised using legacy OSPFv3 LSAs <xref target="RFC5340"/>.</t> | 14>SHOULD</bcp14> also be | |||
advertised using Legacy LSAs <xref target="RFC5340" format="default"/>.</t | ||||
> | ||||
<t>When SRv6 Locators are also advertised as Intra-Area-Prefix-LSAs | <t>When SRv6 Locators are also advertised as Intra-Area-Prefix-LSAs | |||
and/or E-Intra-Area-Prefix-LSAs, the SRv6 Locator MUST be considered as | and/or E-Intra-Area-Prefix-LSAs, the SRv6 Locator <bcp14>MUST</bcp14> be c | |||
a prefix associated with the router and the referenced LSA type MUST | onsidered as | |||
a prefix associated with the router, and the referenced LSA type <bcp14>MU | ||||
ST</bcp14> | ||||
point to the Router LSA of the advertising router as specified in | point to the Router LSA of the advertising router as specified in | |||
Section 4.4.3.9 of <xref target="RFC5340"/>.</t> | <xref target="RFC5340" sectionFormat="of" section="4.4.3.9"/>.</t> | |||
<t>In cases where a locator advertisement is received both in a prefix | <t>In cases where a locator advertisement is received both in a prefix | |||
reachability advertisement (i.e., via legacy OSPFv3 LSAs and/or Extended | reachability advertisement (i.e., via Legacy LSAs and/or Extended | |||
Prefix TLVs using OSPFv3 Extended LSAs) and an SRv6 Locator TLV, the | Prefix TLVs using Extended LSAs) and an SRv6 Locator TLV, the | |||
prefix reachability advertisement in the OSPFv3 legacy LSA or Extended | prefix reachability advertisement in the Legacy LSA or Extended | |||
LSA MUST be preferred over the advertisement in the SRv6 Locator TLV | LSA <bcp14>MUST</bcp14> be preferred over the advertisement in the SRv6 Lo | |||
when installing entries in the forwarding plane. This is to prevent | cator TLV | |||
inconsistent forwarding entries between SRv6 capable and SRv6 incapable | when installing entries in the forwarding plane. This prevents | |||
inconsistent forwarding entries between SRv6-capable and SRv6-incapable | ||||
OSPFv3 routers. Such preference for prefix reachability advertisement | OSPFv3 routers. Such preference for prefix reachability advertisement | |||
does not have any impact on the rest of the data advertised in the SRv6 | does not have any impact on the rest of the data advertised in the SRv6 | |||
Locator TLV.</t> | Locator TLV.</t> | |||
<t>SRv6 SIDs are advertised as sub-TLVs in the SRv6 Locator TLV except | ||||
<t>SRv6 SIDs are advertised as Sub-TLVs in the SRv6 Locator TLV except | for SRv6 End.X SIDs and LAN End.X SIDs, which are associated with a specif | |||
for SRv6 End.X SIDs/LAN End.X SIDs which are associated with a specific | ic | |||
Neighbor/Link and are therefore advertised as Sub-TLVs of the | neighbor/link and are therefore advertised as sub-TLVs of the | |||
E-Router-Link TLV.</t> | E-Router-Link TLV.</t> | |||
<t>SRv6 SIDs received from other OSFPv3 routers are not directly | <t>SRv6 SIDs received from other OSFPv3 routers are not directly | |||
routable and MUST NOT be installed in the forwarding plane. Reachability | routable and <bcp14>MUST NOT</bcp14> be installed in the forwarding plane. Reachability | |||
to SRv6 SIDs depends upon the existence of a covering locator.</t> | to SRv6 SIDs depends upon the existence of a covering locator.</t> | |||
<t>Adherence to the rules defined in this section will ensure that SRv6 | <t>Adherence to the rules defined in this section will ensure that SRv6 | |||
SIDs associated with a supported algorithm will be forwarded correctly, | SIDs associated with a supported algorithm will be forwarded correctly, | |||
while SRv6 SIDs associated with an unsupported algorithm will be | while SRv6 SIDs associated with an unsupported algorithm will be | |||
dropped. NOTE: The drop behavior depends on the absence of a | dropped.</t> | |||
default/summary route matching the locator prefix.</t> | <aside><t>NOTE: The drop behavior depends on the absence of a | |||
default/summary route matching the locator prefix.</t></aside> | ||||
<t>If the locator associated with SRv6 SID advertisements is the longest | <t>If the locator associated with SRv6 SID advertisements is the longest | |||
prefix match installed in the forwarding plane for those SIDs, this will | prefix match installed in the forwarding plane for those SIDs, this will | |||
ensure correct forwarding. Network operators should take steps to make | ensure correct forwarding. Network operators should take steps to make | |||
sure that this requirement is not compromised. For example, the | sure that this requirement is not compromised. For example, the | |||
following situations should be avoided:</t> | following situations should be avoided:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>Another locator associated with a different algorithm is the | |||
<t>Another locator associated with a different algorithm is the | longest prefix match.</li> | |||
longest prefix match</t> | <li>Another prefix advertised via Legacy or Extended LSA | |||
advertisement is the longest prefix match.</li> | ||||
<t>Another prefix advertised via OSPFv3 legacy or Extended LSA | </ul> | |||
advertisement is the longest prefix match</t> | <section anchor="SRV6FA" numbered="true" toc="default"> | |||
</list></t> | <name>SRv6 Flexible Algorithm</name> | |||
<t><xref target="RFC9350" format="default"/> specifies IGP Flexible Algo | ||||
<section anchor="SRV6FA" title="SRv6 Flexible Algorithm"> | rithm | |||
<t><xref target="RFC9350"/> specifies IGP Flexible Algorithm | mechanisms for OSPFv3. | |||
mechanisms for OSPFv3. Section 14.2 of <xref target="RFC9350"/> | <xref target="RFC9350" sectionFormat="of" section="14.2"/> | |||
explains SRv6 forwarding for Flexible Algorithm and analogous | explains SRv6 forwarding for Flexible Algorithms, and analogous | |||
procedures apply for supporting SRv6 Flexible Algorithm using OSPFv3. | procedures apply for supporting SRv6 Flexible Algorithms using OSPFv3. | |||
When the algorithm value that is advertised in the SRv6 Locator TLV | When the algorithm value that is advertised in the SRv6 Locator TLV | |||
(refer to <xref target="LOCTLV"/>) represents a Flexible Algorithm, | (refer to <xref target="LOCTLV" format="default"/>) represents a Flexibl | |||
the procedures described in section 14.2 of <xref target="RFC9350"/> | e Algorithm, | |||
the procedures described in <xref target="RFC9350" sectionFormat="of" se | ||||
ction="14.2"/> | ||||
are followed for the programming of those specific SRv6 Locators.</t> | are followed for the programming of those specific SRv6 Locators.</t> | |||
<t>Locators associated with Flexible Algorithms <bcp14>SHOULD NOT</bcp14 | ||||
<t>Locators associated with Flexible Algorithms SHOULD NOT be | > be | |||
advertised in the base OSPFv3 prefix reachability advertisements. | advertised in the base OSPFv3 prefix reachability advertisements. | |||
Advertising the Flexible Algorithm locator in a regular prefix | Advertising the Flexible Algorithm locator in a regular prefix | |||
reachability advertisement would make it available for non-Flexible | reachability advertisement would make it available for non-Flexible | |||
Algorithm forwarding (i.e., algorithm 0).</t> | Algorithm forwarding (i.e., algorithm 0).</t> | |||
<t>The procedures for OSPFv3 Flexible Algorithm for SR-MPLS, as specified in <xr | ||||
<t>The procedures for OSPFv3 Flexible Algorithm for SR-MPLS, as | ef target="RFC9350" format="default"/>, also apply for SRv6; these procedures in | |||
specified in <xref target="RFC9350"/>, like ASBR reachability, | clude a) ASBR reachability, | |||
inter-area, external, and NSSA prefix advertisements and their use in | b) inter-area, external, and NSSA prefix advertisements, and c) the use of | |||
Flexible Algorithm route computation also apply for SRv6.</t> | those prefix advertisements in Flexible Algorithm route computation.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="ANYCAST" numbered="true" toc="default"> | ||||
<section anchor="ANYCAST" title="Advertisement of Anycast Property"> | <name>Advertisement of Anycast Property</name> | |||
<t>Both prefixes and SRv6 Locators may be configured as anycast and as | <t>Both prefixes and SRv6 Locators may be configured as anycast, and as | |||
such the same value can be advertised by multiple routers. It is useful | such, the same value can be advertised by multiple routers. It is useful | |||
for other routers to know that the advertisement is for an anycast | for other routers to know that the advertisement is for an anycast | |||
identifier.</t> | identifier.</t> | |||
<t>The AC-bit (value 0x80) in the OSPFv3 PrefixOptions field <xref target= | ||||
<t>A new bit in OSPFv3 PrefixOptions <xref target="RFC5340"/> is defined | "RFC5340" format="default"/> is defined | |||
to advertise the anycast property:</t> | to advertise the anycast property:</t> | |||
<figure anchor="PFXOPTIONS"> | ||||
<t><figure anchor="PFXOPTIONS" title="OSPFv3 Prefix Options Field"> | <name>OSPFv3 Prefix Options Field</name> | |||
<artwork><![CDATA[ | <artwork name="" type="" alt="" align="center"><![CDATA[ | |||
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
+--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
|AC|EL| N|DN| P| x|LA|NU| | |AC|EL| N|DN| P| x|LA|NU| | |||
+--+--+--+--+--+--+--+--+ | +--+--+--+--+--+--+--+--+ | |||
]]></artwork> | ]]></artwork> | |||
</figure></t> | --+--+--+--+--+--+--+--+ | |||
</figure> | ||||
<t>Value: 0x80</t> | ||||
<t>Description: Anycast (AC-bit)</t> | ||||
<t>When the prefix/SRv6 Locator is configured as anycast, the AC-bit | <t>When the prefix/SRv6 Locator is configured as anycast, the AC-bit | |||
MUST be set. Otherwise, this flag MUST be clear.</t> | <bcp14>MUST</bcp14> be set. Otherwise, this flag <bcp14>MUST</bcp14> be cl | |||
ear.</t> | ||||
<t>The AC-bit MUST be preserved when re-advertising the prefix/SRv6 | <t>The AC-bit <bcp14>MUST</bcp14> be preserved when re-advertising the pre | |||
fix/SRv6 | ||||
Locator across areas.</t> | Locator across areas.</t> | |||
<t>The AC-bit and the N-bit <bcp14>MUST NOT</bcp14> both be set. If the N- | ||||
<t>The AC-bit and the N-bit MUST NOT both be set. If both N-bit and | bit and | |||
AC-bit are set in the prefix/SRv6 Locator advertisement, the receiving | AC-bit are both set in the prefix/SRv6 Locator advertisement, the receivin | |||
routers MUST ignore the N-bit.</t> | g | |||
routers <bcp14>MUST</bcp14> ignore the N-bit.</t> | ||||
<t>The same prefix/SRv6 Locator can be advertised by multiple routers. | <t>The same prefix/SRv6 Locator can be advertised by multiple routers. | |||
If at least one of them sets the AC-bit in its advertisement, the | If at least one of them sets the AC-bit in its advertisement, the | |||
prefix/SRv6 Locator is considered as anycast.</t> | prefix/SRv6 Locator is considered as anycast.</t> | |||
<t>A prefix/SRv6 Locator that is advertised by a single node and without | <t>A prefix/SRv6 Locator that is advertised by a single node and without | |||
an AC-bit is considered node-specific.</t> | an AC-bit is considered node-specific.</t> | |||
<t>All the nodes advertising the same anycast SRv6 Locator <bcp14>MUST</bc | ||||
<t>All the nodes advertising the same anycast SRv6 Locator MUST | p14> | |||
instantiate the exact same set of SIDs under that anycast SRv6 Locator. | instantiate the exact same set of SIDs under that anycast SRv6 Locator. | |||
Failure to do so may result in traffic being dropped or misrouted.</t> | Failure to do so may result in traffic being dropped or misrouted.</t> | |||
<t>The PrefixOptions field is common to the prefix reachability | <t>The PrefixOptions field is common to the prefix reachability | |||
advertisements (i.e., the base OSPFv3 prefix LSA types defined in <xref | advertisements (i.e., the base OSPFv3 prefix LSA types defined in <xref ta | |||
target="RFC5340"/> and the OSPFv3 Extended Prefix TLV types defined in | rget="RFC5340" format="default"/>, the OSPFv3 Extended Prefix TLV types defined | |||
<xref target="RFC8362"/>) and the SRv6 Locator TLV advertisements | in | |||
specified in <xref target="LOCTLV"/> of this document. When a router | <xref target="RFC8362" format="default"/>), and the SRv6 Locator TLV adver | |||
tisements | ||||
specified in <xref target="LOCTLV" format="default"/> of this document. Wh | ||||
en a router | ||||
originates both the prefix reachability advertisement and the SRv6 | originates both the prefix reachability advertisement and the SRv6 | |||
Locator advertisement for a given prefix, the router SHOULD advertise | Locator advertisement for a given prefix, the router <bcp14>SHOULD</bcp14> advertise | |||
the same PrefixOptions bits in both advertisements. In the case of any | the same PrefixOptions bits in both advertisements. In the case of any | |||
inconsistency between the PrefixOptions advertised in the SRv6 Locator | inconsistency between the PrefixOptions advertised in the SRv6 Locator | |||
and in the prefix reachability advertisements, the ones advertised in | and in the prefix reachability advertisements, the ones advertised in | |||
prefix reachability advertisement MUST be preferred.</t> | the prefix reachability advertisement <bcp14>MUST</bcp14> be preferred.</t > | |||
</section> | </section> | |||
<section anchor="LOCLSA" numbered="true" toc="default"> | ||||
<section anchor="LOCLSA" title="SRv6 Locator LSA"> | <name>SRv6 Locator LSA</name> | |||
<t>The SRv6 Locator LSA has a function code of 42. The S1/S2 bits are | <t>The SRv6 Locator LSA has a function code of 42. The S1/S2 bits are | |||
dependent on the desired flooding scope for the LSA. The flooding scope | dependent on the desired flooding scope for the LSA. The flooding scope | |||
of the SRv6 Locator LSA depends on the scope of the advertised SRv6 | of the SRv6 Locator LSA depends on the scope of the advertised SRv6 | |||
Locator and is under the control of the advertising router. The U-bit | Locator and is under the control of the advertising router. The U-bit | |||
will be set indicating that the LSA should be flooded even if it is not | will be set indicating that the LSA should be flooded even if it is not | |||
understood.</t> | understood.</t> | |||
<t>Multiple SRv6 Locator LSAs can be advertised by an OSPFv3 router, and | ||||
<t>Multiple SRv6 Locator LSAs can be advertised by an OSPFv3 router and | ||||
they are distinguished by their Link State IDs (which are chosen | they are distinguished by their Link State IDs (which are chosen | |||
arbitrarily by the originating router).</t> | arbitrarily by the originating router).</t> | |||
<t>The format of the SRv6 Locator LSA is shown below:</t> | ||||
<t>The format of SRv6 Locator LSA is shown below:</t> | <figure anchor="LOCLSAFMT"> | |||
<name>SRv6 Locator LSA</name> | ||||
<t><figure anchor="LOCLSAFMT" title="SRv6 Locator LSA"> | <artwork name="" type="" align="center" 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LS age |U|S12| Function Code | | |||
| LS age |U|S12| Function Code | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Link State ID | | |||
| Link State ID | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Advertising Router | | |||
| Advertising Router | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LS sequence number | | |||
| LS sequence number | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LS checksum | Length | | |||
| LS checksum | Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | |||
| | | +- TLVs -+ | |||
+- TLVs -+ | | ... | | |||
| ... | | ||||
]]></artwork> | ]]></artwork> | |||
</figure></t> | </figure> | |||
<t>The format of the TLVs within the body of the SRv6 Locator LSA is the | <t>The format of the TLVs within the body of the SRv6 Locator LSA is the | |||
same as the format used by <xref target="RFC3630"/>. The variable TLV | same as the format used by <xref target="RFC3630" format="default"/>. The variable TLV | |||
section consists of one or more nested TLV tuples. Nested TLVs are also | section consists of one or more nested TLV tuples. Nested TLVs are also | |||
referred to as Sub-TLVs. The format of each TLV is:</t> | referred to as sub-TLVs. The format of each TLV is:</t> | |||
<figure anchor="TLVFMT"> | ||||
<t><figure anchor="TLVFMT" title="SRv6 Locator LSA TLV Format"> | <name>SRv6 Locator LSA TLV Format</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="center" 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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Value... | | | Value... | | |||
. . | . . | |||
. . | . . | |||
. . | . . | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure></t> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
</figure> | ||||
<t>The Length field defines the length of the value portion in octets | <t>The Length field defines the length of the value portion in octets | |||
(thus, a TLV with no value portion would have a length of 0). The TLV is | (thus, a TLV with no value portion would have a length of 0). The TLV is | |||
padded to 4-octet alignment; padding is not included in the Length field | padded to 4-octet alignment; padding is not included in the Length field | |||
(so a 3-octet value would have a length of 3, but the total size of the | (so a 3-octet value would have a length of 3, but the total size of the | |||
TLV would be 8 octets). Nested TLVs are also 32-bit aligned. For | TLV would be 8 octets). Nested TLVs are also 32-bit aligned. For | |||
example, a 1-byte value would have the Length field set to 1 and 3 | example, a 1-byte value would have the Length field set to 1, and 3 | |||
octets of padding would be added to the end of the value portion of the | octets of padding would be added to the end of the value portion of the | |||
TLV. The padding is composed of zeros.</t> | TLV. The padding is composed of zeros.</t> | |||
<section anchor="LOCTLV" numbered="true" toc="default"> | ||||
<section anchor="LOCTLV" title="SRv6 Locator TLV"> | <name>SRv6 Locator TLV</name> | |||
<t>The SRv6 Locator TLV is a top-level TLV of the SRv6 Locator LSA | <t>The SRv6 Locator TLV is a top-level TLV of the SRv6 Locator LSA | |||
that is used to advertise an SRv6 Locator, its attributes, and SIDs | that is used to advertise an SRv6 Locator, its attributes, and SIDs | |||
associated with it. Multiple SRv6 Locator TLVs MAY be advertised in | associated with it. Multiple SRv6 Locator TLVs <bcp14>MAY</bcp14> be adv ertised in | |||
each SRv6 Locator LSA. However, since the S12 bits define the flooding | each SRv6 Locator LSA. However, since the S12 bits define the flooding | |||
scope, the LSA flooding scope has to satisfy the application-specific | scope, the LSA flooding scope has to satisfy the application-specific | |||
requirements for all the locators included in a single SRv6 Locator | requirements for all the locators included in a single SRv6 Locator | |||
LSA.</t> | LSA.</t> | |||
<t>When multiple SRv6 Locator TLVs are received from a given router in | <t>When multiple SRv6 Locator TLVs are received from a given router in | |||
an SRv6 Locator LSA for the same Locator, the receiver MUST use the | an SRv6 Locator LSA for the same locator, the receiver <bcp14>MUST</bcp1 4> use the | |||
first occurrence of the TLV in the LSA. If the SRv6 Locator TLV for | first occurrence of the TLV in the LSA. If the SRv6 Locator TLV for | |||
the same Locator appears in multiple SRv6 Locator LSAs that have | the same locator appears in multiple SRv6 Locator LSAs that have | |||
different flooding scopes, the TLV in the SRv6 Locator LSA with the | different flooding scopes, the TLV in the SRv6 Locator LSA with the | |||
area-scoped flooding scope MUST be used. If the SRv6 Locator TLV for | area-scoped flooding scope <bcp14>MUST</bcp14> be used. If the SRv6 Loca | |||
the same Locator appears in multiple SRv6 Locator LSAs that have the | tor TLV for | |||
the same locator appears in multiple SRv6 Locator LSAs that have the | ||||
same flooding scope, the TLV in the SRv6 Locator LSA with the | same flooding scope, the TLV in the SRv6 Locator LSA with the | |||
numerically smallest Link-State ID MUST be used and subsequent | numerically smallest Link State ID <bcp14>MUST</bcp14> be used, and subs | |||
instances of the TLV MUST be ignored.</t> | equent | |||
instances of the TLV <bcp14>MUST</bcp14> be ignored.</t> | ||||
<t>The format of SRv6 Locator TLV is shown below:</t> | <t>The format of the SRv6 Locator TLV is shown below:</t> | |||
<figure anchor="LOCTLVFMT"> | ||||
<t><figure anchor="LOCTLVFMT" title="SRv6 Locator TLV"> | <name>SRv6 Locator TLV</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="center" 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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Route Type | Algorithm | Locator Length| PrefixOptions | | | Route Type | Algorithm | Locator Length| PrefixOptions | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Metric | | | Metric | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Locator (up to 16 octets) ... | | | Locator (up to 16 octets) ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... Locator continued ... | | | ... Locator continued ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... Locator continued ... | | | ... Locator continued ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... Locator concluded | | | ... Locator concluded | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLVs (variable) | | | Sub-TLVs (variable) | | |||
+- -+ | +- -+ | |||
| ... | | | ... | | |||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list> | </figure> | |||
<t>Type: 2-octet field. The value for this type is 1.</t> | ||||
<t>Length: 2-octet field. The total length (in octets) of the | ||||
value portion of the TLV including nested Sub-TLVs.</t> | ||||
<t>Route Type: 1-octet field. The type of the locator route. The | ||||
only supported types are the ones listed below and the SRv6 | ||||
Locator TLV MUST be ignored on receipt of any other type. <figure> | ||||
<artwork><![CDATA[ | ||||
1 - Intra-Area | ||||
2 - Inter-Area | ||||
3 - AS External Type 1 | ||||
4 - AS External Type 2 | ||||
5 - NSSA External Type 1 | ||||
6 - NSSA External Type 2 | ||||
]]></artwork> | ||||
</figure></t> | ||||
<t>Algorithm: 1-octet field. The algorithm associated with the | ||||
SRv6 Locator. Algorithm values are defined in the IGP Algorithm | ||||
Type registry <xref target="RFC8665"/>.</t> | ||||
<t>Locator Length: 1-octet field. Specifies the length of the | ||||
Locator prefix as the number of locator bits from the range | ||||
(1-128).</t> | ||||
<t>PrefixOptions: 1-octet field. Specifies the prefix options | ||||
bits/flags as specified in <xref target="RFC5340"/> and further | ||||
extended by <xref target="RFC8362"/> and <xref target="ANYCAST"/> | ||||
of this document.</t> | ||||
<t>Metric: 4-octet field. The metric value associated with the | ||||
SRv6 Locator. The metric value of 0xFFFFFFFF MUST be considered as | ||||
unreachable.</t> | ||||
<t>Locator: Up to 16-octet field. This field encodes the | ||||
advertised SRv6 Locator as an IPv6 Prefix as specified in section | ||||
A.4.1 of <xref target="RFC5340"/>.</t> | ||||
<t>Sub-TLVs: Used to advertise Sub-TLVs that provide additional | <t>where:</t> | |||
<dl newline="false" spacing="normal"> | ||||
<dt>Type:</dt><dd>2-octet field. The value for this type is 1.</dd> | ||||
<dt>Length:</dt><dd>2-octet field. The total length (in octets) of the | ||||
value portion of the TLV, including nested sub-TLVs.</dd> | ||||
<dt>Route Type:</dt><dd><t>1-octet field. The type of the locator ro | ||||
ute. The | ||||
only supported types are the ones listed below, and the SRv6 | ||||
Locator TLV <bcp14>MUST</bcp14> be ignored on receipt of any other t | ||||
ype.</t> | ||||
<dl newline="false" spacing="compact"> | ||||
<dt>1:</dt><dd>Intra-Area</dd> | ||||
<dt>2:</dt><dd>Inter-Area</dd> | ||||
<dt>3:</dt><dd>AS External Type 1</dd> | ||||
<dt>4:</dt><dd>AS External Type 2</dd> | ||||
<dt>5:</dt><dd>NSSA External Type 1</dd> | ||||
<dt>6:</dt><dd>NSSA External Type 2</dd></dl> | ||||
</dd> | ||||
<dt>Algorithm:</dt><dd>1-octet field. The algorithm associated with th | ||||
e | ||||
SRv6 Locator. Algorithm values are defined in the "IGP Algorithm | ||||
Types" registry <xref target="RFC8665" format="default"/>.</dd> | ||||
<dt>Locator Length:</dt><dd>1-octet field. Specifies the length of the | ||||
locator prefix as the number of locator bits from the range | ||||
(1-128).</dd> | ||||
<dt>PrefixOptions:</dt><dd>1-octet field. Specifies the prefix options | ||||
bits/flags as specified in <xref target="RFC5340" format="default"/> | ||||
and further | ||||
extended by <xref target="RFC8362" format="default"/> and <xref targ | ||||
et="ANYCAST" format="default"/> | ||||
of this document.</dd> | ||||
<dt>Metric:</dt><dd>4-octet field. The metric value associated with th | ||||
e | ||||
SRv6 Locator. The metric value of 0xFFFFFFFF <bcp14>MUST</bcp14> be | ||||
considered as | ||||
unreachable.</dd> | ||||
<dt>Locator:</dt><dd>1-16 octets. This field encodes the | ||||
advertised SRv6 Locator as an IPv6 Prefix as specified in <xref | ||||
target="RFC5340" sectionFormat="of" section="A.4.1"/>.</dd> | ||||
<dt>Sub-TLVs:</dt><dd>Used to advertise sub-TLVs that provide addition | ||||
al | ||||
attributes for the given SRv6 Locator and SRv6 SIDs associated | attributes for the given SRv6 Locator and SRv6 SIDs associated | |||
with the SRv6 Locator.</t> | with the SRv6 Locator.</dd> | |||
</list></t> | </dl> | |||
</section> | ||||
<section anchor="LOCSUBTLVS" title="SRv6 Locator Sub-TLVs"> | </section> | |||
<section anchor="LOCSUBTLVS" numbered="true" toc="default"> | ||||
<name>SRv6 Locator Sub-TLVs</name> | ||||
<t>The following OSPFv3 Extended-LSA sub-TLVs corresponding to the | <t>The following OSPFv3 Extended-LSA sub-TLVs corresponding to the | |||
Extended Prefix LSAs are also applicable for use as sub-TLVs of the | Extended Prefix LSAs are also applicable for use as sub-TLVs of the | |||
SRv6 Locator TLV using code points as specified in <xref | SRv6 Locator TLV using code points as specified in <xref target="IANALLS | |||
target="IANALLSTLVS"/>:</t> | TLVS" format="default"/>:</t> | |||
<ul spacing="normal"> | ||||
<t><list style="symbols"> | <li>IPv6-Forwarding-Address sub-TLV <xref target="RFC8362" format="def | |||
<t>IPv6-Forwarding-Address sub-TLV <xref target="RFC8362"/></t> | ault"/></li> | |||
<li>Route-Tag sub-TLV <xref target="RFC8362" format="default"/></li> | ||||
<t>Route-Tag sub-TLV <xref target="RFC8362"/></t> | <li>Prefix Source OSPF Router-ID sub-TLV <xref target="RFC9084" format | |||
="default"/></li> | ||||
<t>Prefix Source OSPF Router-ID sub-TLV <xref | <li>Prefix Source Router Address sub-TLV <xref target="RFC9084" format | |||
target="RFC9084"/></t> | ="default"/></li> | |||
</ul> | ||||
<t>Prefix Source Router Address sub-TLV <xref | ||||
target="RFC9084"/></t> | ||||
</list></t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="END" numbered="true" toc="default"> | ||||
<section anchor="END" title="Advertisement of SRv6 End SIDs"> | <name>Advertisement of SRv6 End SIDs</name> | |||
<t>The SRv6 End SID Sub-TLV is a Sub-TLV of the SRv6 Locator TLV in the | <t>The SRv6 End SID sub-TLV is a sub-TLV of the SRv6 Locator TLV in the | |||
SRv6 Locator LSA (defined in <xref target="LOCLSA"/>). It is used to | SRv6 Locator LSA (defined in <xref target="LOCLSA" format="default"/>). It | |||
is used to | ||||
advertise the SRv6 SIDs belonging to the router along with their | advertise the SRv6 SIDs belonging to the router along with their | |||
associated endpoint behaviors. SIDs associated with adjacencies are | associated Endpoint behaviors. SIDs associated with adjacencies are | |||
advertised as described in <xref target="SRv6-Neighbor"/>. Every | advertised as described in <xref target="SRv6-Neighbor" format="default"/> | |||
SRv6-enabled OSPFv3 router SHOULD advertise at least one SRv6 SID | . Every | |||
associated with an END behavior for itself as specified in <xref | SRv6-enabled OSPFv3 router <bcp14>SHOULD</bcp14> advertise at least one SR | |||
target="RFC8986"/>, although it MAY omit doing so if that node is not | v6 SID | |||
going to be used as a Segment Endpoint (e.g., for TE or TI-LFA) by any | associated with an End behavior for itself as specified in <xref target="R | |||
FC8986" format="default"/>, although it <bcp14>MAY</bcp14> omit doing so if that | ||||
node is not | ||||
going to be used as a Segment Endpoint (e.g., for TE or Topology Independe | ||||
nt Loop-Free Alternate (TI-LFA)) by any | ||||
SR Source Node.</t> | SR Source Node.</t> | |||
<t>SRv6 End SIDs inherit the algorithm from the parent locator. The SRv6 | <t>SRv6 End SIDs inherit the algorithm from the parent locator. The SRv6 | |||
End SID MUST be allocated from its associated locator. SRv6 End SIDs | End SID <bcp14>MUST</bcp14> be allocated from its associated locator. SRv6 | |||
that are NOT allocated from the associated locator MUST be ignored.</t> | End SIDs | |||
that are NOT allocated from the associated locator <bcp14>MUST</bcp14> be | ||||
<t>The router MAY advertise multiple instances of the SRv6 End SID | ignored.</t> | |||
Sub-TLV within the SRv6 Locator TLV - one for each of the SRv6 SIDs to | <t>The router <bcp14>MAY</bcp14> advertise multiple instances of the SRv6 | |||
be advertised. When multiple SRv6 End SID Sub-TLVs are received in the | End SID | |||
sub-TLV within the SRv6 Locator TLV -- one for each of the SRv6 SIDs to | ||||
be advertised. When multiple SRv6 End SID sub-TLVs are received in the | ||||
SRv6 Locator TLV from a given router for the same SRv6 SID value, the | SRv6 Locator TLV from a given router for the same SRv6 SID value, the | |||
receiver MUST use the first occurrence of the Sub-TLV in the SRv6 | receiver <bcp14>MUST</bcp14> use the first occurrence of the sub-TLV in th e SRv6 | |||
Locator TLV.</t> | Locator TLV.</t> | |||
<t>The format of the SRv6 End SID sub-TLV is shown below</t> | ||||
<t>The format of SRv6 End SID Sub-TLV is shown below</t> | <figure anchor="NODESIDTLV"> | |||
<name>SRv6 End SID Sub-TLV</name> | ||||
<figure anchor="NODESIDTLV" title="SRv6 End SID Sub-TLV"> | <artwork name="" type="" align="center" 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 | Reserved | Endpoint Behavior | | |||
| Flags | Reserved | Endpoint Behavior | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SID (128 bits) ... | | |||
| SID (128 bits) ... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ... SID continued ... | | |||
| ... SID continued ... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ... SID continued ... | | |||
| ... SID continued ... | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ... SID concluded | | |||
| ... SID concluded | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Sub-TLVs (variable) . . . | |||
| Sub-TLVs (variable) . . . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ]]></artwork> | |||
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
</figure> | </figure> | |||
<t>Where:<list> | <t>where:</t> | |||
<t>Type: 2-octet field. The value for this type is 1.</t> | <dl> | |||
<dt>Type:</dt><dd>2-octet field. The value for this type is 1.</dd> | ||||
<t>Length: 2-octet field. The total length (in octets) of the value | <dt>Length:</dt><dd>2-octet field. The total length (in octets) of the v | |||
portion of the Sub-TLV including its further nested Sub-TLVs.</t> | alue | |||
portion of the sub-TLV, including its nested sub-TLVs.</dd> | ||||
<t>Flags: 1-octet field. It specifies the flags associated with the | <dt>Flags:</dt><dd>1-octet field. Specifies the flags associated | |||
SID. No flags are currently defined and this field MUST be set to 0 | with the SID. No flags are currently defined, and this field | |||
on transmission and MUST be ignored on receipt.</t> | <bcp14>MUST</bcp14> be set to 0 on transmission and | |||
<bcp14>MUST</bcp14> be ignored on receipt.</dd> | ||||
<t>Reserved: 1-octet field. It MUST be set to 0 on transmission and | <dt>Reserved:</dt><dd>1-octet field. It <bcp14>MUST</bcp14> be set to 0 | |||
MUST be ignored on receipt.</t> | on transmission and | |||
<bcp14>MUST</bcp14> be ignored on receipt.</dd> | ||||
<t>Endpoint Behavior: 2 octets field. The endpoint behavior code | <dt>Endpoint Behavior:</dt><dd>2-octet field. The Endpoint behavior code | |||
point for this SRv6 SID as defined in <xref target="RFC8986"/>. | point for this SRv6 SID as defined in <xref target="RFC8986" format="default"/> | |||
Supported behavior values for this sub-TLV are defined in <xref | . | |||
target="AdvtEndBeh"/> of this document. Unsupported or unrecognized | Supported behavior values for this sub-TLV are defined in <xref target | |||
behavior values are ignored by the receiver.</t> | ="AdvtEndBeh" format="default"/> of this document. Unsupported or unrecognized | |||
behavior values are ignored by the receiver.</dd> | ||||
<t>SID: 16-octet field. This field encodes the advertised SRv6 | <dt>SID:</dt><dd>16-octet field. This field encodes the advertised SRv6 | |||
SID.</t> | SID.</dd> | |||
<dt>Sub-TLVs:</dt><dd>Used to advertise sub-TLVs that provide additional | ||||
attributes for the given SRv6 SID.</dd> | ||||
</dl> | ||||
<t>Sub-TLVs: Used to advertise Sub-TLVs that provide additional | ||||
attributes for the given SRv6 SID.</t> | ||||
</list></t> | ||||
</section> | </section> | |||
<section anchor="SRv6-Neighbor" numbered="true" toc="default"> | ||||
<section anchor="SRv6-Neighbor" | <name>Advertisement of SRv6 SIDs Associated with Adjacencies</name> | |||
title="Advertisement of SRv6 SIDs Associated with Adjacencies"> | <t>The SRv6 Endpoint behaviors defined in <xref target="RFC8986" format="d | |||
<t>The SRv6 endpoint behaviors defined in <xref target="RFC8986"/> | efault"/> | |||
include certain behaviors that are specific to links or adjacencies. The | include certain behaviors that are specific to links or adjacencies. The | |||
most basic of these, which is critical for link-state routing protocols | most basic of these (which is critical for link-state routing protocols | |||
like OSPFv3, is the End.X behavior that is an instruction to forward to | like OSPFv3) is the End.X behavior, which is an instruction to forward to | |||
a specific neighbor on a specific link. These SRv6 SIDs and others that | a specific neighbor on a specific link. These SRv6 SIDs and others that | |||
are defined in <xref target="RFC8986"/> which are specific to links or | are defined in <xref target="RFC8986" format="default"/>, which are specif | |||
adjacencies need to be advertised to OSPFv3 routers within an area to | ic to links or | |||
adjacencies, need to be advertised to OSPFv3 routers within an area to | ||||
steer SRv6 traffic over a specific link or adjacency.</t> | steer SRv6 traffic over a specific link or adjacency.</t> | |||
<t>Therefore, SRv6 SIDs that are specific to a particular neighbor, such | <t>Therefore, SRv6 SIDs that are specific to a particular neighbor, such | |||
as End.X, are not advertised as a sub-TLVs of the SRv6 Locator TLV but | as End.X, are not advertised as a sub-TLVs of the SRv6 Locator TLV. Instea | |||
via two different optional Sub-TLVs of the E-Router-Link TLV defined in | d, they are advertised via two different optional sub-TLVs of the E-Router-Link | |||
<xref target="RFC8362"/>:</t> | TLV defined in | |||
<xref target="RFC8362" format="default"/>:</t> | ||||
<t><list style="symbols"> | <dl> | |||
<t>SRv6 End.X SID Sub-TLV: Used for OSPFv3 adjacencies over | <dt>SRv6 End.X SID sub-TLV:</dt><dd>Used for OSPFv3 adjacencies over | |||
point-to-point or point-to-multipoint links and for the adjacency to | point-to-point or point-to-multipoint links and for the adjacency to | |||
the Designated Router (DR) over broadcast and | the Designated Router (DR) over broadcast and | |||
Non-Broadcast-Multi-Access (NBMA) links.</t> | Non-Broadcast-Multi-Access (NBMA) links.</dd> | |||
<dt>SRv6 LAN End.X SID sub-TLV:</dt><dd>Used for OSPFv3 adjacencies on | ||||
<t>SRv6 LAN End.X SID Sub-TLV: Used for OSPFv3 adjacencies on | ||||
broadcast and NBMA links to the Backup DR and DR-Other neighbors. | broadcast and NBMA links to the Backup DR and DR-Other neighbors. | |||
This Sub-TLV includes the OSPFv3 Router-ID of the neighbor and thus | This sub-TLV includes the OSPFv3 Router-ID of the neighbor and thus | |||
allows for an instance of this Sub-TLV for each neighbor to be | allows for an instance of this sub-TLV for each neighbor to be | |||
explicitly advertised as a Sub-TLV of the E-Router-Link TLV for the | explicitly advertised as a sub-TLV of the E-Router-Link TLV for the | |||
same link.</t> | same link.</dd> | |||
</list>Every SRv6 enabled OSPFv3 router SHOULD instantiate at least | </dl> | |||
<t>Every SRv6-enabled OSPFv3 router <bcp14>SHOULD</bcp14> instantiate at l | ||||
east | ||||
one unique SRv6 End.X SID corresponding to each of its neighbors, | one unique SRv6 End.X SID corresponding to each of its neighbors, | |||
although it MAY omit doing so if features like traffic engineering or | although it <bcp14>MAY</bcp14> omit doing so if features like TE or | |||
Topology-Independent Loop Free Alternate (TI-LFA) that require End.X SID | TI-LFA that require End.X SID | |||
are not in use. A router MAY instantiate more than one SRv6 End.X SID | are not in use. A router <bcp14>MAY</bcp14> instantiate more than one SRv6 | |||
for a single neighbor. The same SRv6 End.X SID MAY be advertised for | End.X SID | |||
more than one neighbor. Thus multiple instances of the SRv6 End.X SID | for a single neighbor. The same SRv6 End.X SID <bcp14>MAY</bcp14> be adver | |||
and SRv6 LAN End.X SID Sub-TLVs MAY be advertised within the | tised for | |||
more than one neighbor. Thus, multiple instances of the SRv6 End.X SID | ||||
and SRv6 LAN End.X SID sub-TLVs <bcp14>MAY</bcp14> be advertised within th | ||||
e | ||||
E-Router-Link TLV for a single link.</t> | E-Router-Link TLV for a single link.</t> | |||
<t>All End.X and LAN End.X SIDs <bcp14>MUST</bcp14> be subsumed by the sub | ||||
<t>All End.X and LAN End.X SIDs MUST be subsumed by the subnet of a | net of a | |||
Locator with the matching algorithm which is advertised by the same | locator with the matching algorithm that is advertised by the same | |||
OSPFv3 router in an SRv6 Locator TLV. End.X SIDs which do not meet this | OSPFv3 router in an SRv6 Locator TLV. End.X SIDs that do not meet this | |||
requirement MUST be ignored. This ensures that the OSPFv3 router | requirement <bcp14>MUST</bcp14> be ignored. This ensures that the OSPFv3 r | |||
outer | ||||
advertising the End.X or LAN End.X SID is also advertising its | advertising the End.X or LAN End.X SID is also advertising its | |||
corresponding Locator with the algorithm that will be used for computing | corresponding locator with the algorithm that will be used for computing | |||
paths destined to the SID.</t> | paths destined to the SID.</t> | |||
<section anchor="P2P" numbered="true" toc="default"> | ||||
<section anchor="P2P" title="SRv6 End.X SID Sub-TLV"> | <name>SRv6 End.X SID Sub-TLV</name> | |||
<t>The format of the SRv6 End.X SID Sub-TLV is shown below</t> | <t>The format of the SRv6 End.X SID sub-TLV is shown below:</t> | |||
<figure anchor="ADJSIDTLV"> | ||||
<figure anchor="ADJSIDTLV" title="SRv6 End.X SID Sub-TLV"> | <name>SRv6 End.X SID Sub-TLV</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="center" 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 | Reserved1 | | | Endpoint Behavior | Flags | Reserved1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Algorithm | Weight | Reserved2 | | | Algorithm | Weight | Reserved2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (128 bits) ... | | | SID (128 bits) ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... SID continued ... | | | ... SID continued ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... SID continued ... | | | ... SID continued ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... SID concluded | | | ... SID concluded | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLVs (variable) . . . | | Sub-TLVs (variable) . . . | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
</figure> | </figure> | |||
<t>Where:</t> | <t>where:</t> | |||
<dl newline="false"> | ||||
<t><list> | <dt>Type:</dt><dd>2-octet field. The value for this type is 31.</dd> | |||
<t>Type: 2-octet field. The value for this type is 31.</t> | <dt>Length:</dt><dd>2-octet field. The total length (in octets) of the | |||
value portion of the sub-TLV, including its nested | ||||
<t>Length: 2-octet field. The total length (in octets) of the | sub-TLVs.</dd> | |||
value portion of the Sub-TLV including its further nested | <dt>Endpoint Behavior:</dt><dd>2-octet field. The Endpoint behavior co | |||
Sub-TLVs.</t> | de point for this SRv6 SID as defined in <xref target="RFC8986" format="default" | |||
/>. | ||||
<t>Endpoint Behavior: 2-octet field. The endpoint behavior code | Supported behavior values for this sub-TLV are defined in <xref targ | |||
point for this SRv6 SID as defined in <xref target="RFC8986"/>. | et="AdvtEndBeh" format="default"/> of this document. Unsupported or | |||
Supported behavior values for this sub-TLV are defined in <xref | unrecognized behavior values are ignored by the receiver.</dd> | |||
target="AdvtEndBeh"/> of this document. Unsupported or | <dt>Flags:</dt><dd><t> 1-octet field. The flags are defined as follows | |||
unrecognized behavior values are ignored by the receiver.</t> | :</t> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
<t>Flags: 1-octet field. The flags are defined as follows: <figure> | 0 1 2 3 4 5 6 7 | |||
<artwork><![CDATA[ | +-+-+-+-+-+-+-+-+ | |||
0 1 2 3 4 5 6 7 | |B|S|P| Reserved| | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
|B|S|P| Reserved| | ||||
+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ]]></artwork> | |||
</figure> <list style="symbols"> | -+-+-+-+-+-+-+-+ | |||
<t>B-Flag: Backup Flag. If set, the SID refers to a path that | <dl newline="false"> | |||
is eligible for protection.</t> | <dt>B-Flag:</dt><dd>Backup Flag. If set, the SID refers to a path | |||
that | ||||
<t>S-Flag: Set Flag. When set, the S-Flag indicates that the | is eligible for protection.</dd> | |||
End.X SID refers to a set of adjacencies (and therefore MAY be | <dt>S-Flag:</dt><dd>Set Flag. When set, the S-Flag indicates that | |||
assigned to other adjacencies as well).</t> | the | |||
End.X SID refers to a set of adjacencies (and therefore <bcp14>M | ||||
<t>P-Flag: Persistent Flag: If set, the SID is persistently | AY</bcp14> be | |||
assigned to other adjacencies as well).</dd> | ||||
<dt>P-Flag:</dt><dd>Persistent Flag. If set, the SID is persistent | ||||
ly | ||||
allocated, i.e., the SID value remains consistent across | allocated, i.e., the SID value remains consistent across | |||
router restart and session/interface flap.</t> | router restart and session/interface flap.</dd> | |||
<dt>Other flags are not defined and are reserved for future | ||||
<t>Other flags are not defined and are reserved for future | use. They <bcp14>MUST</bcp14> be set to 0 on transmission and <b | |||
use. They MUST be set to 0 on transmission and MUST be ignored | cp14>MUST</bcp14> be ignored | |||
on receipt.</t> | on receipt.</dt><dd></dd> | |||
</list></t> | </dl> | |||
</dd> | ||||
<t>Reserved1: 1-octet field. It MUST be set to 0 on transmission | </dl> | |||
and MUST be ignored on receipt.</t> | <dl> | |||
<dt>Reserved1:</dt><dd>1-octet field. It <bcp14>MUST</bcp14> be set to | ||||
<t>Algorithm: 1-octet field. The algorithm associated with the | 0 on transmission | |||
and <bcp14>MUST</bcp14> be ignored on receipt.</dd> | ||||
<dt>Algorithm:</dt><dd>1-octet field. The algorithm associated with th | ||||
e | ||||
SRv6 Locator from which the SID is allocated. Algorithm values are | SRv6 Locator from which the SID is allocated. Algorithm values are | |||
defined in the IGP Algorithm Type registry <xref | defined in the "IGP Algorithm Types" registry <xref target="RFC8665" | |||
target="RFC8665"/>.</t> | format="default"/>.</dd> | |||
<dt>Weight:</dt><dd>1-octet field. Its value represents the weight of | ||||
<t>Weight: 1-octet field. Its value represents the weight of the | the | |||
End.X SID for load-balancing. The use of the weight is defined in | End.X SID for load-balancing. The use of the weight is defined in | |||
<xref target="RFC8402"/>.</t> | <xref target="RFC8402" format="default"/>.</dd> | |||
<dt>Reserved2:</dt><dd>2-octet field. It <bcp14>MUST</bcp14> be set to | ||||
<t>Reserved2: 2-octet field. It MUST be set to 0 on transmission | 0 on transmission | |||
and MUST be ignored on receipt.</t> | and <bcp14>MUST</bcp14> be 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 | 6 | |||
SID.</t> | SID.</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 given SRv6 End.X SID.</t> | attributes for the given SRv6 End.X SID.</dd> | |||
</list></t> | </dl> | |||
</section> | </section> | |||
<section anchor="LAN" numbered="true" toc="default"> | ||||
<section anchor="LAN" title="SRv6 LAN End.X SID Sub-TLV"> | <name>SRv6 LAN End.X SID Sub-TLV</name> | |||
<t>The format of the SRv6 LAN End.X SID Sub-TLV is as shown below:</t> | <t>The format of the SRv6 LAN End.X SID sub-TLV is as shown below:</t> | |||
<figure anchor="LADJSIDTLV"> | ||||
<t><figure anchor="LADJSIDTLV" title="SRv6 LAN End.X SID Sub-TLV"> | <name>SRv6 LAN End.X SID Sub-TLV</name> | |||
<artwork><![CDATA[ 0 1 2 | <artwork name="" type="" align="center" 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 | Reserved1 | | | Endpoint Behavior | Flags | Reserved1 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Algorithm | Weight | Reserved2 | | | Algorithm | Weight | Reserved2 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Neighbor Router-ID | | | Neighbor Router-ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| SID (128 bits) ... | | | SID (128 bits) ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... SID continued ... | | | ... SID continued ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... SID continued ... | | | ... SID continued ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ... SID concluded | | | ... SID concluded | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub-TLVs (variable) . . . | | Sub-TLVs (variable) . . . | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure>Where:</t> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
</figure> | ||||
<t><list style="symbols"> | ||||
<t>Type: 2-octet field. The value for this type is 32.</t> | ||||
<t>Length: 2-octet field. The total length (in octets) of the | ||||
value portion of the Sub-TLV including its further nested | ||||
Sub-TLVs.</t> | ||||
<t>Endpoint Behavior: 2-octet field. The code point for the | ||||
endpoint behavior for this SRv6 SID as defined in section 9.2 of | ||||
<xref target="RFC8986"/>.</t> | ||||
<t>Flags: 1-octet field. The flags are defined as follows:<figure> | ||||
<artwork><![CDATA[ | ||||
0 1 2 3 4 5 6 7 | ||||
+-+-+-+-+-+-+-+-+ | ||||
|B|S|P| Reserved| | ||||
+-+-+-+-+-+-+-+-+ | ||||
<t>where:</t> | ||||
<dl spacing="normal" newline="false"> | ||||
<dt>Type:</dt><dd>2-octet field. The value for this type is 32.</dd> | ||||
<dt>Length:</dt><dd>2-octet field. The total length (in octets) of the | ||||
value portion of the sub-TLV, including its nested | ||||
sub-TLVs.</dd> | ||||
<dt>Endpoint Behavior:</dt><dd>2-octet field. The code point for the | ||||
Endpoint behavior for this SRv6 SID as defined in <xref | ||||
target="RFC8986" sectionFormat="of" section="9.2"/>.</dd> | ||||
<dt>Flags:</dt><dd><t>1-octet field. The flags are defined as follows: | ||||
</t> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
0 1 2 3 4 5 6 7 | ||||
+-+-+-+-+-+-+-+-+ | ||||
|B|S|P| Reserved| | ||||
+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ]]></artwork> | |||
</figure><list style="symbols"> | <dl spacing="normal" newline="false"> | |||
<t>B-Flag: Backup Flag. If set, the SID refers to a path that | <dt>B-Flag:</dt><dd>Backup Flag. If set, the SID refers to a path | |||
is eligible for protection.</t> | that | |||
is eligible for protection.</dd> | ||||
<t>S-Flag: Set Flag. When set, the S-Flag indicates that the | <dt>S-Flag:</dt><dd>Set Flag. When set, the S-Flag indicates that | |||
End.X SID refers to a set of adjacencies (and therefore MAY be | the | |||
assigned to other adjacencies as well).</t> | End.X SID refers to a set of adjacencies (and therefore <bcp14>M | |||
AY</bcp14> be | ||||
<t>P-Flag: Persistent Flag: If set, the SID is persistently | assigned to other adjacencies as well).</dd> | |||
<dt>P-Flag:</dt><dd>Persistent Flag. If set, the SID is persistent | ||||
ly | ||||
allocated, i.e., the SID value remains consistent across | allocated, i.e., the SID value remains consistent across | |||
router restart and session/interface flap.</t> | router restart and session/interface flap.</dd> | |||
<dt>Other flags are not defined and are reserved for future | ||||
<t>Other flags are not defined and are reserved for future | use. They <bcp14>MUST</bcp14> be set to 0 on transmission and <b | |||
use. They MUST be set to 0 on transmission and MUST be ignored | cp14>MUST</bcp14> be ignored | |||
on receipt.</t> | on receipt.</dt><dd></dd> | |||
</list></t> | </dl> | |||
</dd> | ||||
<t>Reserved1: 1-octet field. It MUST be set to 0 on transmission | <dt>Reserved1:</dt><dd>1-octet field. It <bcp14>MUST</bcp14> be set to | |||
and MUST be ignored on receipt.</t> | 0 on transmission | |||
and <bcp14>MUST</bcp14> be ignored on receipt.</dd> | ||||
<t>Algorithm: 1-octet field. The algorithm associated with the | <dt>Algorithm:</dt><dd>1-octet field. The algorithm associated with th | |||
e | ||||
SRv6 Locator from which the SID is allocated. Algorithm values are | SRv6 Locator from which the SID is allocated. Algorithm values are | |||
defined in the IGP Algorithm Type registry <xref | defined in the "IGP Algorithm Types" registry <xref target="RFC8665" | |||
target="RFC8665"/>.</t> | format="default"/>.</dd> | |||
<dt>Weight:</dt><dd>1-octet field. Its value represents the weight of | ||||
<t>Weight: 1-octet field. Its value represents the weight of the | the | |||
End.X SID for load balancing. The use of the weight is defined in | End.X SID for load balancing. The use of the weight is defined in | |||
<xref target="RFC8402"/>.</t> | <xref target="RFC8402" format="default"/>.</dd> | |||
<dt>Reserved2:</dt><dd>2-octet field. It <bcp14>MUST</bcp14> be set to | ||||
<t>Reserved2: 2-octet field. It MUST be set to 0 on transmission | 0 on transmission | |||
and MUST be ignored on receipt.</t> | and <bcp14>MUST</bcp14> be ignored on receipt.</dd> | |||
<dt>Neighbor Router-ID:</dt><dd>4-octet field. It specifies the OSPFv3 | ||||
<t>Neighbor Router-ID: 4-octet field. It specifies the OSPFv3 | Router-ID of the neighbor.</dd> | |||
Router-id of the neighbor.</t> | <dt>SID:</dt><dd>16-octet field. This field encodes the advertised SRv | |||
6 | ||||
<t>SID: 16-octet field. This field encodes the advertised SRv6 | SID.</dd> | |||
SID.</t> | <dt>Sub-TLVs:</dt><dd>Used to advertise sub-TLVs that provide addition | |||
al | ||||
<t>Sub-TLVs: Used to advertise Sub-TLVs that provide additional | attributes for the given SRv6 SID.</dd> | |||
attributes for the given SRv6 SID.</t> | </dl> | |||
</list></t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="SRSTRUCTTLV" numbered="true" toc="default"> | ||||
<section anchor="SRSTRUCTTLV" title="SRv6 SID Structure Sub-TLV"> | <name>SRv6 SID Structure Sub-TLV</name> | |||
<t>SRv6 SID Structure Sub-TLV is used to advertise the structure of the | <t>The SRv6 SID Structure sub-TLV is used to advertise the structure of th | |||
SRv6 SID as defined in <xref target="RFC8986"/>. It is used as an | e | |||
optional Sub-TLV of the following:<list style="symbols"> | SRv6 SID as defined in <xref target="RFC8986" format="default"/>. It is us | |||
<t>SRv6 End SID Sub-TLV (refer to <xref target="END"/>)</t> | ed as an | |||
optional sub-TLV of the following:</t> | ||||
<t>SRv6 End.X SID Sub-TLV (refer to <xref target="P2P"/>)</t> | <ul spacing="normal"> | |||
<li>SRv6 End SID sub-TLV (refer to <xref target="END" format="default"/> | ||||
<t>SRv6 LAN End.X SID Sub-TLV (refer to <xref target="LAN"/>)</t> | )</li> | |||
</list> The Sub-TLV has the following format:</t> | <li>SRv6 End.X SID sub-TLV (refer to <xref target="P2P" format="default" | |||
/>)</li> | ||||
<t><figure anchor="SRSIDSTRUCT" title="SRv6 SID Structure Sub-TLV"> | <li>SRv6 LAN End.X SID sub-TLV (refer to <xref target="LAN" format="defa | |||
<artwork><![CDATA[ 0 1 2 | ult"/>)</li> | |||
3 | </ul> | |||
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 | <t>The sub-TLV has the following format:</t> | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <figure anchor="SRSIDSTRUCT"> | |||
| Type | Length | | <name>SRv6 SID Structure Sub-TLV</name> | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <artwork name="" type="" align="center" alt=""><![CDATA[ | |||
| LB Length | LN Length | Fun. Length | Arg. Length | | 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 | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| LB Length | LN Length | Fun. Length | Arg. Length | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
]]></artwork> | ]]></artwork> | |||
</figure>Where:<list> | -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
<t>Type: 2-octet field. The value for this type is 30.</t> | </figure> | |||
<t>Length: 2-octet field. The value MUST be 4.</t> | ||||
<t>LB Length: 1-octet field. SRv6 SID Locator Block length in | ||||
bits.</t> | ||||
<t>LN Length: 1-octet bit field. SRv6 SID Locator Node length in | ||||
bits.</t> | ||||
<t>Function Length: 1-octet field. SRv6 SID Function length in | ||||
bits.</t> | ||||
<t>Argument Length: 1-octet field. SRv6 SID Argument length in | ||||
bits.</t> | ||||
</list></t> | ||||
<t>The SRv6 SID Structure Sub-TLV MUST NOT appear more than once in its | ||||
parent Sub-TLV. If it appears more than once in its parent Sub-TLV, the | ||||
parent Sub-TLV MUST be ignored by the receiver.</t> | ||||
<t>The sum of all four sizes advertised in SRv6 SID Structure Sub-TLV | ||||
MUST be less than or equal to 128 bits. If the sum of all four sizes | ||||
advertised in the SRv6 SID Structure Sub-TLV is larger than 128 bits, | ||||
the parent TLV/Sub-TLV MUST be ignored by the receiver.</t> | ||||
<t>The SRv6 SID Structure Sub-TLV is intended for informational use by | <t>where:</t> | |||
the control and management planes. It MUST NOT be used at a transit node | <dl newline="false"> | |||
(as defined in <xref target="RFC8754"/>) for forwarding packets. As an | <dt>Type:</dt><dd>2-octet field. The value for this type is 30.</dd> | |||
example, this information could be used for: <list style="symbols"> | <dt>Length:</dt><dd>2-octet field. The value <bcp14>MUST</bcp14> be 4.</ | |||
<t>validation of SRv6 SIDs being instantiated in the network and | dd> | |||
advertised via OSPFv3. These can be learned by controllers via | <dt>LB Length:</dt><dd>1-octet field. SRv6 SID Locator Block length in | |||
BGP-LS <xref target="I-D.ietf-idr-bgpls-srv6-ext"/> and then be | bits.</dd> | |||
monitored for conformance to the SRv6 SID allocation scheme chosen | <dt>LN Length:</dt><dd>1-octet field. SRv6 SID Locator Node length in | |||
by the operator as described in Section 3.2 of <xref | bits.</dd> | |||
target="RFC8986"/>.</t> | <dt>Function Length:</dt><dd>1-octet field. SRv6 SID Function length in | |||
bits.</dd> | ||||
<dt>Argument Length:</dt><dd>1-octet field. SRv6 SID Argument length in | ||||
bits.</dd> | ||||
</dl> | ||||
<t>verification and the automation for securing the SRv6 domain by | <t>The SRv6 SID Structure sub-TLV <bcp14>MUST NOT</bcp14> appear more than | |||
once in its | ||||
parent sub-TLV. If it appears more than once in its parent sub-TLV, the | ||||
parent sub-TLV <bcp14>MUST</bcp14> be ignored by the receiver.</t> | ||||
<t>The sum of all four sizes advertised in SRv6 SID Structure sub-TLV | ||||
<bcp14>MUST</bcp14> be less than or equal to 128 bits. If the sum of all f | ||||
our sizes | ||||
advertised in the SRv6 SID Structure sub-TLV is larger than 128 bits, | ||||
the parent TLV or sub-TLV <bcp14>MUST</bcp14> be ignored by the receiver.< | ||||
/t> | ||||
<t>The SRv6 SID Structure sub-TLV is intended for informational use by | ||||
the control and management planes. It <bcp14>MUST NOT</bcp14> be used at a | ||||
transit node | ||||
(as defined in <xref target="RFC8754" format="default"/>) for forwarding p | ||||
ackets. As an | ||||
example, this information could be used for the following: </t> | ||||
<ul spacing="normal"> | ||||
<li>Validation of SRv6 SIDs being instantiated in the network and | ||||
advertised via OSPFv3. These can be learned by controllers via BGP-LS | ||||
<xref target="RFC9514" format="default"/> and then monitored for | ||||
conformance to the SRv6 SID allocation scheme chosen by the operator | ||||
as described in <xref target="RFC8986" | ||||
sectionFormat="of" section="3.2"/>.</li> | ||||
<li>Verification and the automation for securing the SRv6 domain by | ||||
provisioning filtering rules at SR domain boundaries as described in | provisioning filtering rules at SR domain boundaries as described in | |||
Section 5 of <xref target="RFC8754"/>.</t> | <xref target="RFC8754" sectionFormat="of" section="5"/>.</li> | |||
</list></t> | </ul> | |||
<t>The details of these potential applications are outside the scope of | <t>The details of these potential applications are outside the scope of | |||
this document.</t> | this document.</t> | |||
</section> | </section> | |||
<section anchor="AdvtEndBeh" numbered="true" toc="default"> | ||||
<section anchor="AdvtEndBeh" title="Advertising Endpoint Behaviors"> | <name>Advertising Endpoint Behaviors</name> | |||
<t>Endpoint behaviors are defined in <xref target="RFC8986"/>. The | <t>Endpoint behaviors are defined in <xref target="RFC8986" format="defaul | |||
codepoints for the Endpoint behaviors are defined in the "SRv6 Endpoint | t"/>. The | |||
Behaviors" registry of <xref target="RFC8986"/>. This section lists the | code points for the Endpoint behaviors are defined in the "SRv6 Endpoint | |||
Endpoint behaviors and their codepoints, which MAY be advertised by | Behaviors" registry of <xref target="RFC8986" format="default"/>. This sec | |||
OSPFv3 and the Sub-TLVs in which each type MAY appear.</t> | tion lists the | |||
Endpoint behaviors and their code points, which <bcp14>MAY</bcp14> be adve | ||||
<t><figure anchor="EndBehTable" | rtised by | |||
title="SRv6 Endpoint Behaviors in OSPFv3"> | OSPFv3 and the sub-TLVs in which each type <bcp14>MAY</bcp14> appear.</t> | |||
<artwork><![CDATA[ | <table anchor="EndBehTable"> | |||
|-----------------------|--------------------|-----|-------|-----------| | <name>SRv6 Endpoint Behaviors in OSPFv3</name> | |||
| Endpoint | Endpoint | End | End.X | LAN End.X | | <thead> | |||
| Behavior | Behavior Codepoint | SID | SID | SID | | <tr> | |||
|-----------------------|--------------------|-----|-------|-----------| | <th>Endpoint Behavior</th> | |||
| End (PSP, USP, USD) | 1-4, 28-31 | Y | N | N | | <th>Endpoint Behavior Code Point</th> | |||
|-----------------------|--------------------|-----|-------|-----------| | <th>End SID</th> | |||
| End.X (PSP, USP, USD) | 5-8, 32-35 | N | Y | Y | | <th>End.X SID</th> | |||
|-----------------------|--------------------|-----|-------|-----------| | <th>LAN End.X SID</th> | |||
| End.DX6 | 16 | N | Y | Y | | </tr> | |||
|-----------------------|--------------------|-----|-------|-----------| | </thead> | |||
| End.DX4 | 17 | N | Y | Y | | <tbody> | |||
|-----------------------|--------------------|-----|-------|-----------| | <tr> | |||
| End.DT6 | 18 | Y | N | N | | <td>End (PSP, USP, USD)</td> | |||
|-----------------------|--------------------|-----|-------|-----------| | <td>1-4, 28-31</td> | |||
| End.DT4 | 19 | Y | N | N | | <td>Y</td> | |||
|-----------------------|--------------------|-----|-------|-----------| | <td>N</td> | |||
| End.DT64 | 20 | Y | N | N | | <td>N</td> | |||
|-----------------------|--------------------|-----|-------|-----------| | </tr> | |||
<tr> | ||||
]]></artwork> | <td>End.X (PSP, USP, USD)</td> | |||
</figure></t> | <td>5-8, 32-35</td> | |||
<td>N</td> | ||||
<td>Y</td> | ||||
<td>Y</td> | ||||
</tr> | ||||
<tr> | ||||
<td>End.DX6</td> | ||||
<td>16</td> | ||||
<td>N</td> | ||||
<td>Y</td> | ||||
<td>Y</td> | ||||
</tr> | ||||
<tr> | ||||
<td>End.DX4</td> | ||||
<td>17</td> | ||||
<td>N</td> | ||||
<td>Y</td> | ||||
<td>Y</td> | ||||
</tr> | ||||
<tr> | ||||
<td>End.DT6</td> | ||||
<td>18</td> | ||||
<td>Y</td> | ||||
<td>N</td> | ||||
<td>N</td> | ||||
</tr> | ||||
<tr> | ||||
<td>End.DT4</td> | ||||
<td>19</td> | ||||
<td>Y</td> | ||||
<td>N</td> | ||||
<td>N</td> | ||||
</tr> | ||||
<tr> | ||||
<td>End.DT64</td> | ||||
<td>20</td> | ||||
<td>Y</td> | ||||
<td>N</td> | ||||
<td>N</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="Security" numbered="true" toc="default"> | ||||
<section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
<t>This document introduces extensions to the OSPFv3 protocol and as | <t>This document introduces extensions to the OSPFv3 protocol and, as such | |||
such does not affect existing security considerations for OSPFv3 as | , | |||
documented in <xref target="RFC5340"/>. <xref target="RFC7166"/> | does not affect existing security considerations for OSPFv3 as | |||
documented in <xref target="RFC5340" format="default"/>. <xref target="RFC | ||||
7166" format="default"/> | ||||
describes an alternative and improved authentication mechanism to IPsec | describes an alternative and improved authentication mechanism to IPsec | |||
for OSPFv3. The use of authentication is RECOMMENDED for OSPFv3 | for OSPFv3. The use of authentication is <bcp14>RECOMMENDED</bcp14> for OS PFv3 | |||
deployment.</t> | deployment.</t> | |||
<t>Reception of a malformed TLV or sub-TLV <bcp14>SHOULD</bcp14> be counte | ||||
<t>Reception of malformed TLV or Sub-TLV SHOULD be counted and/or logged | d and/or logged | |||
in a rate-limited manner for further analysis.</t> | in a rate-limited manner for further analysis.</t> | |||
<t>This document describes the OSPFv3 extensions required to support | <t>This document describes the OSPFv3 extensions required to support | |||
Segment Routing over an IPv6 data plane. The security considerations for | SR over an IPv6 data plane. The security considerations for | |||
Segment Routing are discussed in <xref target="RFC8402"/>. <xref | SR are discussed in <xref target="RFC8402" format="default"/>. <xref targe | |||
target="RFC8986"/> defines the SRv6 Network Programming concept and | t="RFC8986" format="default"/> defines the SRv6 Network Programming concept and | |||
specifies the main Segment Routing behaviors to enable the creation of | specifies the main SR behaviors to enable the creation of | |||
interoperable overlays; the security considerations from that document | interoperable overlays. The security considerations from that document | |||
apply too.</t> | apply as well.</t> | |||
<t>The advertisement of an incorrect MSD value may have negative | <t>The advertisement of an incorrect MSD value may have negative | |||
consequences, see <xref target="RFC8476"/> for additional | consequences. See <xref target="RFC8476" format="default"/> for additional | |||
considerations.</t> | considerations.</t> | |||
<t>Security concerns associated with the setting of the O-flag are | <t>Security concerns associated with the setting of the O-flag are | |||
described in <xref target="RFC9259"/>.</t> | described in <xref target="RFC9259" format="default"/>.</t> | |||
<t>Security concerns associated with the usage of Flexible Algorithms | <t>Security concerns associated with the usage of Flexible Algorithms | |||
are described in <xref target="RFC9350"/>.</t> | are described in <xref target="RFC9350" format="default"/>.</t> | |||
</section> | </section> | |||
<section anchor="IANA" numbered="true" toc="default"> | ||||
<section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
<t>This document requests IANA to perform allocations from OSPF and | <t>Per this document, IANA has made allocations in OSPF- and | |||
OSPFv3 related registries as well as creating of new registries as | OSPFv3-related registries and created new registries, as | |||
follows.</t> | detailed in the following subsections.</t> | |||
<section anchor="IANARI" numbered="true" toc="default"> | ||||
<section anchor="IANARI" title="OSPF Router Information TLVs"> | <name>OSPF Router Information TLVs</name> | |||
<t>IANA has allocated a code point via the early allocation process in | <t>IANA has allocated the following code point in the "OSPF Router | |||
the "OSPF Router Information (RI) TLVs" registry under the "OSPF | Information (RI) TLVs" registry within the "Open Shortest Path First | |||
Parameters" registry group for the new TLV below that needs to be made | (OSPF) Parameters" registry group:</t> | |||
permanent:</t> | <table anchor="iana1"> | |||
<name></name> | ||||
<t><list style="empty"> | <thead> | |||
<t>Type 20: SRv6-Capabilities TLV: Refer to <xref | <tr> | |||
target="capability"/> of this document.</t> | <th>Value</th> | |||
</list></t> | <th>TLV Name</th> | |||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>20</td> | ||||
<td>SRv6 Capabilities</td> | ||||
<td>RFC 9513, <xref target="capability"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="IANALSA" numbered="true" toc="default"> | ||||
<section anchor="IANALSA" title="OSPFv3 LSA Function Codes"> | <name>OSPFv3 LSA Function Codes</name> | |||
<t>IANA has allocated a code point via the early allocation process in | <t>IANA has allocated the following code point in | |||
the "OSPFv3 LSA Function Codes" registry under the "OSPFv3 Parameters" | the "OSPFv3 LSA Function Codes" registry within the "Open Shortest Path | |||
registry group for the new LSA below that needs to be made | First v3 (OSPFv3) Parameters" | |||
permanent:</t> | registry group: | |||
</t> | ||||
<t><list style="symbols"> | <table anchor="iana2"> | |||
<t>Type 42: SRv6 Locator LSA: Refer to <xref target="LOCLSA"/> of | <name></name> | |||
this document.</t> | <thead> | |||
</list></t> | <tr> | |||
<th>Value</th> | ||||
<th>LSA Function Code Name</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>42</td> | ||||
<td>SRv6 Locator LSA</td> | ||||
<td>RFC 9513, <xref target="LOCLSA"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="IANAPO" numbered="true" toc="default"> | ||||
<section anchor="IANAPO" title="OSPFv3 Prefix Options"> | <name>OSPFv3 Prefix Options</name> | |||
<t>IANA has allocated a code point via the early allocation process in | <t>IANA has allocated the following code point in the "OSPFv3 Prefix | |||
the "OSPFv3 Prefix Options" registry under the "OSPFv3 Parameters" | Options (8 bits)" registry within the "Open Shortest Path First v3 | |||
registry group as below that needs to be made permanent:</t> | (OSPFv3) Parameters" registry group:</t> | |||
<table anchor="iana3"> | ||||
<t><list style="symbols"> | <name></name> | |||
<t>Value 0x80: AC-bit: Refer to <xref target="ANYCAST"/> of this | <thead> | |||
document.</t> | <tr> | |||
</list></t> | <th>Value</th> | |||
<th>Description</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>0x80</td> | ||||
<td>AC-bit</td> | ||||
<td>RFC 9513, <xref target="ANYCAST"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="IANASRV6CAP" numbered="true" toc="default"> | ||||
<section anchor="IANASRV6CAP" title="OSPFv3 SRv6 Capabilities TLV Flags"> | <name>OSPFv3 SRv6 Capabilities TLV Flags</name> | |||
<t>This document requests a new IANA sub-registry name "OSPFv3 SRv6 | <t>IANA has created a new subregistry named "OSPFv3 SRv6 | |||
Capabilities TLV Flags" be created under the "OSPFv3 Parameters" | Capabilities TLV Flags" within the "Open Shortest Path First v3 (OSPFv3) | |||
Parameters" | ||||
registry group to control the assignment of bits 0 to 15 in the Flags | registry group to control the assignment of bits 0 to 15 in the Flags | |||
field of the OSPFv3 SRv6 Capabilities TLV specified in this document. | field of the OSPFv3 SRv6 Capabilities TLV specified in this document. | |||
The registration procedure is "Standards Action" as defined in <xref | The registration procedure is "Standards Action" as defined in <xref tar | |||
target="RFC8126"/>.</t> | get="RFC8126" format="default"/>.</t> | |||
<t>The following assignment has been made per this document:</t> | ||||
<t>The following assignments are made by this document:<list | <table anchor="iana4"> | |||
style="symbols"> | <name></name> | |||
<t>Bit 1: Description: O-flag. Reference: <xref | <thead> | |||
target="capability"/> of this document.</t> | <tr> | |||
</list></t> | <th>Bit</th> | |||
<th>Description</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>1</td> | ||||
<td>O-flag</td> | ||||
<td>RFC 9513, <xref target="capability"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="IANASRV6END" numbered="true" toc="default"> | ||||
<section anchor="IANASRV6END" title="OSPFv3 SRv6 End SID Sub-TLV Flags"> | <name>OSPFv3 SRv6 End SID Sub-TLV Flags</name> | |||
<t>This document requests a new IANA sub-registry name "OSPFv3 SRv6 | <t>IANA has created a new subregistry named "OSPFv3 SRv6 | |||
End SID Sub-TLV Flags" be created under the "OSPFv3 Parameters" | End SID Sub-TLV Flags" within the "Open Shortest Path First v3 (OSPFv3) | |||
Parameters" | ||||
registry group to control the assignment of bits 0 to 7 in the Flags | registry group to control the assignment of bits 0 to 7 in the Flags | |||
field of the OSPFv3 SRv6 End SID Sub-TLV specified in this document. | field of the OSPFv3 SRv6 End SID sub-TLV specified in this document. | |||
The registration procedure is "Standards Action" as defined in <xref | The registration procedure is "Standards Action" as defined in <xref tar | |||
target="RFC8126"/>.</t> | get="RFC8126" format="default"/>.</t> | |||
<t>No assignments are made by this document.</t> | <t>No assignments are made by this document.</t> | |||
</section> | </section> | |||
<section anchor="IANASRV6ENDX" numbered="true" toc="default"> | ||||
<section anchor="IANASRV6ENDX" | <name>OSPFv3 SRv6 Adjacency SID Sub-TLV Flags</name> | |||
title="OSPFv3 SRv6 Adjacency SID Sub-TLV Flags"> | <t>IANA has created a new subregistry named "OSPFv3 SRv6 | |||
<t>This document requests a new IANA sub-registry name "OSPFv3 SRv6 | Adjacency SID Sub-TLV Flags" within the "Open Shortest Path First v3 (OS | |||
Adjacency SID Sub-TLV Flags" be created under the "OSPFv3 Parameters" | PFv3) Parameters" | |||
registry group to control the assignment of bits 0 to 7 in the Flags | registry group to control the assignment of bits 0 to 7 in the Flags | |||
field of the OSPFv3 SRv6 End.X SID and OSPFv3 SRv6 LAN End.X SID | field of the OSPFv3 SRv6 End.X SID and OSPFv3 SRv6 LAN End.X SID | |||
Sub-TLVs specified in this document. The registration procedure is | sub-TLVs specified in this document. The registration procedure is | |||
"Standards Action" as defined in <xref target="RFC8126"/>.</t> | "Standards Action" as defined in <xref target="RFC8126" format="default" | |||
/>.</t> | ||||
<t>The following assignments are made by this document:<list | <t>The following assignments have been made per this document:</t> | |||
style="symbols"> | <table anchor="iana5"> | |||
<t>Bit 0: Description: B-flag. Reference: <xref target="P2P"/> and | <name></name> | |||
<xref target="LAN"/> of this document.</t> | <thead> | |||
<tr> | ||||
<t>Bit 1: Description: S-flag. Reference: <xref target="P2P"/> and | <th>Bit</th> | |||
<xref target="LAN"/> of this document.</t> | <th>Description</th> | |||
<th>Reference</th> | ||||
<t>Bit 2: Description: P-flag. Reference: <xref target="P2P"/> and | </tr> | |||
<xref target="LAN"/> of this document.</t> | </thead> | |||
</list></t> | <tbody> | |||
<tr> | ||||
<td>0</td> | ||||
<td>B-flag</td> | ||||
<td>RFC 9513, Sections <xref target="P2P" format="counter"/> and <xref tar | ||||
get="LAN" format="counter"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>1</td> | ||||
<td>S-flag</td> | ||||
<td>RFC 9513, Sections <xref target="P2P" format="counter"/> and <xref tar | ||||
get="LAN" format="counter"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>2</td> | ||||
<td>P-flag</td> | ||||
<td>RFC 9513, Sections <xref target="P2P" format="counter"/> and <xref tar | ||||
get="LAN" format="counter"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="IANAELSTLVS" numbered="true" toc="default"> | ||||
<section anchor="IANAELSTLVS" title="OSPFv3 Extended-LSA Sub-TLVs"> | <name>OSPFv3 Extended-LSA Sub-TLVs</name> | |||
<t>IANA has allocated the following code points via the early | <t>IANA has allocated the following code points | |||
allocation process in the "OSPFv3 Extended-LSA Sub-TLVs" registry | in the "OSPFv3 Extended-LSA Sub-TLVs" registry | |||
under the "OSPFv3 Parameters" registry group for the new Sub-TLVs | within the "Open Shortest Path First v3 (OSPFv3) Parameters" registry gr | |||
below that need to be made permanent:</t> | oup:</t> | |||
<table anchor="iana6"> | ||||
<t><list style="symbols"> | <name></name> | |||
<t>Type 30: SRv6 SID Structure Sub-TLV: Refer to <xref | <thead> | |||
target="SRSTRUCTTLV"/> of this document.</t> | <tr> | |||
<th>Value</th> | ||||
<t>Type 31: SRv6 End.X SID Sub-TLV: Refer to <xref target="P2P"/> | <th>Description</th> | |||
of this document.</t> | <th>L2BM</th> | |||
<th>Reference</th> | ||||
<t>Type 32: SRv6 LAN End.X SID Sub-TLV: Refer to <xref | </tr> | |||
target="LAN"/> of this document.</t> | </thead> | |||
</list></t> | <tbody> | |||
<tr> | ||||
<t>For all 3 of these sub-TLVs the column L2BM in the registry is set | <td>30</td> | |||
to "Y".</t> | <td>SRv6 SID Structure</td> | |||
<td>Y</td> | ||||
<td>RFC 9513, <xref target="SRSTRUCTTLV"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>31</td> | ||||
<td>SRv6 End.X SID</td> | ||||
<td>Y</td> | ||||
<td>RFC 9513, <xref target="P2P"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>32</td> | ||||
<td>SRv6 LAN End.X SID</td> | ||||
<td>Y</td> | ||||
<td>RFC 9513, <xref target="LAN"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | </section> | |||
<section anchor="IANALLTLVS" numbered="true" toc="default"> | ||||
<section anchor="IANALLTLVS" title="OSPFv3 SRv6 Locator LSA TLVs"> | <name>OSPFv3 SRv6 Locator LSA TLVs</name> | |||
<t>This document requests the creation of an "OSPFv3 SRv6 Locator LSA | <t>IANA has created a new subregistry named "OSPFv3 SRv6 Locator LSA | |||
TLVs" registry, that defines top-level TLVs for the OSPFv3 SRv6 | TLVs" within the "Open Shortest Path First v3 (OSPFv3) Parameters" regis | |||
Locator LSA, under the "OSPFv3 Parameters" registry group. The initial | try group to define top-level TLVs for the OSPFv3 SRv6 | |||
code-points assignment is as below:</t> | Locator LSA. The initial | |||
assignments are below:</t> | ||||
<t><list style="symbols"> | <table anchor="iana7"> | |||
<t>Type 0: Reserved.</t> | <name></name> | |||
<thead> | ||||
<t>Type 1: SRv6 Locator TLV: Refer to <xref target="LOCTLV"/> of | <tr> | |||
this document.</t> | <th>Value</th> | |||
</list></t> | <th>Description</th> | |||
<th>Reference</th> | ||||
<t>Types in the range 2-32767 are allocated via IETF Review or IESG | </tr> | |||
Approval <xref target="RFC8126"/>.</t> | </thead> | |||
<tbody> | ||||
<tr> | ||||
<td>0</td> | ||||
<td>Reserved</td> | ||||
<td>RFC 9513</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1</td> | ||||
<td>SRv6 Locator</td> | ||||
<td>RFC 9513, <xref target="LOCTLV"/></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<t>Types in the range 0-32767 are allocated via IETF Review or IESG | ||||
Approval <xref target="RFC8126" format="default"/>.</t> | ||||
<t>Types in the range 32768-33023 are Reserved for Experimental Use; | <t>Types in the range 32768-33023 are Reserved for Experimental Use; | |||
these will not be registered with IANA and MUST NOT be mentioned by | these will not be registered with IANA and <bcp14>MUST NOT</bcp14> be me ntioned by | |||
RFCs.</t> | RFCs.</t> | |||
<t>Types in the range 33024-45055 are to be assigned on a First Come | <t>Types in the range 33024-45055 are to be assigned on a First Come | |||
First Served (FCFS) basis.</t> | First Served (FCFS) basis.</t> | |||
<t>Types in the range 45056-65535 are not to be assigned at this time. | <t>Types in the range 45056-65535 are not to be assigned at this time. | |||
Before any assignments can be made in the 45056-65535 range, there | Before any assignments can be made in the 45056-65535 range, there | |||
MUST be an IETF specification that specifies IANA Considerations that | <bcp14>MUST</bcp14> be an IETF specification that specifies IANA Conside rations that | |||
cover the range being assigned.</t> | cover the range being assigned.</t> | |||
</section> | </section> | |||
<section anchor="IANALLSTLVS" numbered="true" toc="default"> | ||||
<name>OSPFv3 SRv6 Locator LSA Sub-TLVs</name> | ||||
<t>IANA has created a new subregistry named "OSPFv3 SRv6 Locator LSA | ||||
Sub-TLVs" within the "Open Shortest Path First v3 (OSPFv3) Parameters" r | ||||
egistry | ||||
group to define sub-TLVs at any level of nesting for | ||||
the SRv6 Locator LSA TLV. | ||||
The initial assignment are below:</t> | ||||
<table anchor="iana8"> | ||||
<name></name> | ||||
<thead> | ||||
<tr> | ||||
<th>Value</th> | ||||
<th>Description</th> | ||||
<th>Reference</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>0</td> | ||||
<td>Reserved</td> | ||||
<td>RFC 9513</td> | ||||
</tr> | ||||
<tr> | ||||
<td>1</td> | ||||
<td>SRv6 End SID</td> | ||||
<td>RFC 9513, <xref target="END"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>2</td> | ||||
<td>IPv6-Forwarding-Address</td> | ||||
<td><xref target="RFC8362" | ||||
format="default"/>; RFC 9513, <xref target="LOCSUBTLVS"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>3</td> | ||||
<td>Route-Tag</td> | ||||
<td><xref target="RFC8362" format="default"/>; RFC 9513, <xref target="LOC | ||||
SUBTLVS"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>4</td> | ||||
<td>Prefix Source OSPF Router-ID</td> | ||||
<td><xref target="RFC9084" format="default"/>; RFC 9513, <xref target="LOC | ||||
SUBTLVS"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>5</td> | ||||
<td>Prefix Source Router Address</td> | ||||
<td><xref target="RFC9084" format="default"/>; RFC 9513, <xref target="LOC | ||||
SUBTLVS"/></td> | ||||
</tr> | ||||
<tr> | ||||
<td>10</td> | ||||
<td>SRv6 SID Structure</td> | ||||
<td>RFC 9513, <xref target="SRSTRUCTTLV"/></td> | ||||
</tr> </tbody> | ||||
<section anchor="IANALLSTLVS" title="OSPFv3 SRv6 Locator LSA Sub-TLVs"> | </table> | |||
<t>This document requests the creation of an "OSPFv3 SRv6 Locator LSA | <t>Types in the range 0-32767 are allocated via IETF Review | |||
Sub-TLVs" registry, that defines Sub-TLVs at any level of nesting for | or IESG Approval <xref target="RFC8126" format="default"/>.</t> | |||
the SRv6 Locator LSA, to be added under the "OSPFv3 Parameters" | ||||
registry group. The initial code-points assignment is as below:</t> | ||||
<t><list style="symbols"> | ||||
<t>Type 0: Reserved.</t> | ||||
<t>Type 1: SRv6 End SID Sub-TLV: Refer to <xref target="END"/> of | ||||
this document.</t> | ||||
<t>Type 2: IPv6-Forwarding-Address sub-TLV: Refer to <xref | ||||
target="RFC8362"/> and <xref target="LOCSUBTLVS"/> of this | ||||
document.</t> | ||||
<t>Type 3: Route-Tag sub-TLV: Refer to <xref target="RFC8362"/> | ||||
and <xref target="LOCSUBTLVS"/> of this document.</t> | ||||
<t>Type 4: Prefix Source OSPF Router-ID sub-TLV: Refer to <xref | ||||
target="RFC9084"/> and <xref target="LOCSUBTLVS"/> of this | ||||
document.</t> | ||||
<t>Type 5: Prefix Source Router Address sub-TLV: Refer to <xref | ||||
target="RFC9084"/> and <xref target="LOCSUBTLVS"/> of this | ||||
document.</t> | ||||
<t>Type 10: SRv6 SID Structure Sub-TLV: Refer to <xref | ||||
target="SRSTRUCTTLV"/> of this document.</t> | ||||
</list></t> | ||||
<t>Types in the range 6-9 and 11-32767 are allocated via IETF Review | ||||
or IESG Approval <xref target="RFC8126"/>.</t> | ||||
<t>Types in the range 32768-33023 are Reserved for Experimental Use; | <t>Types in the range 32768-33023 are Reserved for Experimental Use; | |||
these will not be registered with IANA and MUST NOT be mentioned by | these will not be registered with IANA and <bcp14>MUST NOT</bcp14> be me ntioned by | |||
RFCs.</t> | RFCs.</t> | |||
<t>Types in the range 33024-45055 are to be assigned on a FCFS basis.</t | ||||
<t>Types in the range 33024-45055 are to be assigned on a First Come | > | |||
First Served (FCFS) basis.</t> | ||||
<t>Types in the range 45056-65535 are not to be assigned at this time. | <t>Types in the range 45056-65535 are not to be assigned at this time. | |||
Before any assignments can be made in the 45056-65535 range, there | Before any assignments can be made in the 45056-65535 range, there | |||
MUST be an IETF specification that specifies IANA Considerations that | <bcp14>MUST</bcp14> be an IETF specification that specifies IANA Conside rations that | |||
cover the range being assigned.</t> | cover the range being assigned.</t> | |||
<t>The following note has been added to this registry to | ||||
<t>The note indicated below needs to be added under this registry to | ensure that any document requesting allocations in this registry | |||
ensure that any document requesting allocations under this registry | ||||
for sub-TLVs of any of the OSPFv3 SRv6 Locator TLVs checks if | for sub-TLVs of any of the OSPFv3 SRv6 Locator TLVs checks if | |||
allocations are also applicable for the "OSPFv3 Extended-LSA Sub-TLVs" | allocations are also applicable for the "OSPFv3 Extended-LSA Sub-TLVs" | |||
registry.</t> | registry.</t> | |||
<t>Note: Allocations made under this registry for any sub-TLVs that | <blockquote> | |||
are associated with OSPFv3 SRv6 Locator TLVs MUST be also evaluated | <t>Note: Allocations made in this registry for sub-TLVs that | |||
for their applicability as OSPFv3 Extended-LSA Sub-TLVs and, | are associated with OSPFv3 SRv6 Locator TLVs <bcp14>MUST</bcp14> be | |||
therefore, also requiring allocation under the "OSPFv3 Extended-LSA | evaluated for their applicability as OSPFv3 Extended-LSA sub-TLVs, | |||
which are required to be allocated in the "OSPFv3 Extended-LSA | ||||
Sub-TLVs" registry.</t> | Sub-TLVs" registry.</t> | |||
</blockquote> | ||||
</section> | </section> | |||
<section anchor="IANAOSPFV3EXTLSA" numbered="true" toc="default"> | ||||
<section anchor="IANAOSPFV3EXTLSA" title="OSPFv3 Extended-LSA Sub-TLVs"> | <name>OSPFv3 Extended-LSA Sub-TLVs</name> | |||
<t>This document requests IANA to add the note indicated below under | <t>IANA has added the following note to | |||
the "OSPFv3 Extended-LSA Sub-TLVs" registry under the "OSPFv3 | the "OSPFv3 Extended-LSA Sub-TLVs" registry within the "Open Shortest Pa | |||
Parameters" registry group. The purpose of this note is to ensure that | th First v3 (OSPFv3) Parameters" registry group. The purpose of this note is to | |||
any document requesting allocations under this registry for sub-TLVs | ensure that | |||
any document requesting allocations in this registry for sub-TLVs | ||||
of any of the OSPFv3 Extended Prefix TLVs checks if allocations are | of any of the OSPFv3 Extended Prefix TLVs checks if allocations are | |||
also applicable for the "OSPFv3 SRv6 Locator LSA Sub-TLVs" registry | also applicable for the "OSPFv3 SRv6 Locator LSA Sub-TLVs" registry | |||
that is created by this document.</t> | defined in this document.</t> | |||
<blockquote> | ||||
<t>Note: Allocations made under this registry for any sub-TLVs that | <t>Note: Allocations made in this registry for sub-TLVs that | |||
are associated with OSPFv3 Extended TLVs related to prefix | are associated with OSPFv3 Extended TLVs related to prefix | |||
advertisements MUST be also evaluated for their applicability as | advertisements <bcp14>MUST</bcp14> be evaluated for their | |||
OSPFv3 SRv6 Locator Sub-TLVs and, therefore, also requiring allocation | applicability as OSPFv3 SRv6 Locator sub-TLVs, which are | |||
under the "OSPFv3 SRv6 Locator LSA Sub-TLVs" registry.</t> | required to be allocated in the "OSPFv3 SRv6 Locator LSA Sub-TLVs" | |||
registry.</t> | ||||
</blockquote> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section title="Acknowledgements"> | ||||
<t>The authors would like to acknowledge the contributions of Dean Cheng | ||||
in the early versions of this document. The authors would like to thank | ||||
Ran Chen and Detao Zhao for their suggestions related to the extension | ||||
of PrefixOptions for the signaling of the anycast property.</t> | ||||
<t>The authors would like to thank Chenzichao, Dirk Goethals, Baalajee | ||||
S, Yingzhen Qu, Shraddha Hegde, Dhruv Dhody, Martin Vigoureux, and Reese | ||||
Enghardt for their review and comments on this document. The authors | ||||
would like to thank Acee Lindem for his detailed shepherd review and | ||||
feedback for improvement of this document. The authors would like to | ||||
thank John Scudder for his AD review and suggestions to improve this | ||||
document.</t> | ||||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<references title="Normative References"> | <references> | |||
<?rfc include='reference.RFC.2119'?> | <name>References</name> | |||
<references> | ||||
<?rfc include='reference.RFC.8126'?> | <name>Normative References</name> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
<?rfc include='reference.RFC.8174'?> | 119.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
<?rfc include='reference.RFC.5340'?> | 126.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
<?rfc include='reference.RFC.7166'?> | 174.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
<?rfc include='reference.RFC.7770'?> | 340.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
<?rfc include='reference.RFC.8362'?> | 166.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
<?rfc include='reference.RFC.8402'?> | 770.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
<?rfc include='reference.RFC.8986'?> | 362.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
<?rfc include='reference.RFC.9259'?> | 402.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
<?rfc include='reference.RFC.8666'?> | 986.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
<?rfc include='reference.RFC.8665'?> | 259.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
<?rfc include='reference.RFC.8476'?> | 666.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
<?rfc include='reference.RFC.8754'?> | 665.xml"/> | |||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
<?rfc include='reference.RFC.9084'?> | 476.xml"/> | |||
<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.9 | ||||
084.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
350.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
352.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | ||||
630.xml"/> | ||||
<?rfc include='reference.RFC.9350'?> | <!-- [I-D.ietf-idr-bgpls-srv6-ext] in REF state as of 09/20/23; companion docume nt RFC 9514 --> | |||
<?rfc include='reference.RFC.9352'?> | <reference anchor="RFC9514" target="https://www.rfc-editor.org/info/rfc9514"> | |||
<front> | ||||
<title>Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Rout | ||||
ing over IPv6 (SRv6)</title> | ||||
<author initials="G." surname="Dawra" fullname="Gaurav Dawra"> | ||||
<organization>LinkedIn</organization> | ||||
</author> | ||||
<author initials="C." surname="Filsfils" fullname="Clarence Filsfils"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar" role="edi | ||||
tor"> | ||||
<organization>Cisco Systems</organization> | ||||
</author> | ||||
<author initials="M." surname="Chen" fullname="Mach Chen"> | ||||
<organization>Huawei</organization> | ||||
</author> | ||||
<author initials="D." surname="Bernier" fullname="Daniel Bernier"> | ||||
<organization>Bell Canada</organization> | ||||
</author> | ||||
<author initials="B." surname="Decraene" fullname="Bruno Decraene"> | ||||
<organization>Orange</organization> | ||||
</author> | ||||
<date month="November" year="2023"/> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9514"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9514"/> | ||||
</reference> | ||||
</references> | ||||
</references> | </references> | |||
<references title="Informative References"> | <section numbered="false" toc="default"> | |||
<?rfc include='reference.RFC.3630'?> | <name>Acknowledgements</name> | |||
<t>The authors would like to acknowledge the contributions of <contact ful | ||||
<?rfc include='reference.I-D.ietf-idr-bgpls-srv6-ext'?> | lname="Dean Cheng"/> | |||
</references> | in the early draft versions of this document. The authors would like to th | |||
</back> | ank | |||
<contact fullname="Ran Chen"/> and <contact fullname="Detao Zhao"/> for th | ||||
eir suggestions related to the extension | ||||
of PrefixOptions for the signaling of the anycast property.</t> | ||||
<t>The authors would like to thank <contact fullname="Chenzichao"/>, | ||||
<contact fullname="Dirk Goethals"/>, <contact fullname="Baalajee S"/>, | ||||
<contact fullname="Yingzhen Qu"/>, <contact fullname="Shraddha Hegde"/>, | ||||
<contact fullname="Dhruv Dhody"/>, <contact fullname="Martin | ||||
Vigoureux"/>, and <contact fullname="Reese Enghardt"/> for their review | ||||
and comments on this document. The authors would like to thank <contact | ||||
fullname="Acee Lindem"/> for his detailed shepherd review and feedback | ||||
for improvement of this document. The authors would like to thank | ||||
<contact fullname="John Scudder"/> for his AD review and suggestions to | ||||
improve this document.</t> | ||||
</section> | ||||
</back> | ||||
</rfc> | </rfc> | |||
End of changes. 191 change blocks. | ||||
1059 lines changed or deleted | 1246 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |