| rfc9350xml2.original.xml | rfc9350.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" conse | |||
| <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | nsus="true" docName="draft-ietf-lsr-flex-algo-26" indexInclude="true" ipr="trust | |||
| <?rfc toc="yes" ?> | 200902" number="9350" prepTime="2023-02-21T15:23:01" scripts="Common,Latin" sort | |||
| <?rfc symrefs="yes" ?> | Refs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" | |||
| <?rfc sortrefs="yes"?> | xml:lang="en"> | |||
| <?rfc iprnotified="no" ?> | <link href="https://datatracker.ietf.org/doc/draft-ietf-lsr-flex-algo-26" rel= | |||
| <?rfc strict="yes" ?> | "prev"/> | |||
| <?rfc compact='yes'?> | <link href="https://dx.doi.org/10.17487/rfc9350" rel="alternate"/> | |||
| <?rfc subcompact='no'?> | <link href="urn:issn:2070-1721" rel="alternate"/> | |||
| <rfc category="std" docName="draft-ietf-lsr-flex-algo-26" ipr="trust200902"> | ||||
| <front> | <front> | |||
| <title abbrev="IGP Flexible Algorithm">IGP Flexible Algorithm</title> | <title abbrev="IGP Flexible Algorithm">IGP Flexible Algorithm</title> | |||
| <seriesInfo name="RFC" value="9350" stream="IETF"/> | ||||
| <author fullname="Peter Psenak" initials="P." role="editor" | <author fullname="Peter Psenak" initials="P." role="editor" surname="Psenak" | |||
| surname="Psenak"> | > | |||
| <organization>Cisco Systems, Inc.</organization> | <organization showOnFrontPage="true">Cisco Systems, Inc.</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>Apollo Business Center</street> | <extaddr>Apollo Business Center</extaddr> | |||
| <street>Mlynske nivy 43</street> | <street>Mlynske nivy 43</street> | |||
| <city>Bratislava</city> | <city>Bratislava</city> | |||
| <code>82109</code> | ||||
| <region>82109</region> | ||||
| <country>Slovakia</country> | <country>Slovakia</country> | |||
| <code/> | <code/> | |||
| </postal> | </postal> | |||
| <email>ppsenak@cisco.com</email> | <email>ppsenak@cisco.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Shraddha Hegde" initials="S" surname="Hegde"> | <author fullname="Shraddha Hegde" initials="S" surname="Hegde"> | |||
| <organization>Juniper Networks, Inc.</organization> | <organization showOnFrontPage="true">Juniper Networks, Inc.</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>Embassy Business Park</street> | <extaddr>Embassy Business Park</extaddr> | |||
| <street/> | <street/> | |||
| <city>Bangalore</city> | ||||
| <city>Bangalore, KA</city> | <region>KA</region> | |||
| <code>560093</code> | ||||
| <region>560093</region> | ||||
| <country>India</country> | <country>India</country> | |||
| <code/> | <code/> | |||
| </postal> | </postal> | |||
| <email>shraddha@juniper.net</email> | <email>shraddha@juniper.net</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Clarence Filsfils" initials="C." surname="Filsfils"> | <author fullname="Clarence Filsfils" initials="C." surname="Filsfils"> | |||
| <organization>Cisco Systems, Inc.</organization> | <organization showOnFrontPage="true">Cisco Systems, Inc.</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city>Brussels</city> | <city>Brussels</city> | |||
| <region/> | <region/> | |||
| <code/> | <code/> | |||
| <country>Belgium</country> | <country>Belgium</country> | |||
| </postal> | </postal> | |||
| <email>cfilsfil@cisco.com</email> | <email>cfilsfil@cisco.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar"> | <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar"> | |||
| <organization>Cisco Systems, Inc</organization> | <organization showOnFrontPage="true">Cisco Systems, Inc</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street></street> | <street/> | |||
| <city/> | ||||
| <city></city> | <code/> | |||
| <code></code> | ||||
| <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="Arkadiy Gulko" initials="A." surname="Gulko"> | <author fullname="Arkadiy Gulko" initials="A." surname="Gulko"> | |||
| <organization>Edward Jones</organization> | <organization showOnFrontPage="true">Edward Jones</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city/> | <city/> | |||
| <region/> | <region/> | |||
| <code/> | <code/> | |||
| <country/> | <country/> | |||
| </postal> | </postal> | |||
| <email>arkadiy.gulko@edwardjones.com</email> | <email>arkadiy.gulko@edwardjones.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date month="02" year="2023"/> | ||||
| <date/> | <area>rtg</area> | |||
| <workgroup>lsr</workgroup> | ||||
| <abstract> | <abstract pn="section-abstract"> | |||
| <t>IGP protocols historically compute best paths over the network based | <t indent="0" pn="section-abstract-1">IGP protocols historically compute t | |||
| he best paths over the network based | ||||
| on the IGP metric assigned to the links. Many network deployments use | on the IGP metric assigned to the links. Many network deployments use | |||
| RSVP-TE based or Segment Routing based Traffic Engineering to steer | RSVP-TE or Segment Routing - Traffic Engineering (SR-TE) to steer | |||
| traffic over a path that is computed using different metrics or | traffic over a path that is computed using different metrics or | |||
| constraints than the shortest IGP path. This document specifies a | constraints than the shortest IGP path. This document specifies a | |||
| solution that allows IGPs themselves to compute constraint-based paths | solution that allows IGPs themselves to compute constraint-based paths | |||
| over the network. This document also specifies a way of using Segment | over the network. This document also specifies a way of using Segment | |||
| Routing (SR) Prefix-SIDs and SRv6 locators to steer packets along the | Routing (SR) Prefix-SIDs and SRv6 locators to steer packets along the | |||
| constraint-based paths.</t> | constraint-based paths.</t> | |||
| </abstract> | </abstract> | |||
| <boilerplate> | ||||
| <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc= | ||||
| "exclude" pn="section-boilerplate.1"> | ||||
| <name slugifiedName="name-status-of-this-memo">Status of This Memo</name | ||||
| > | ||||
| <t indent="0" pn="section-boilerplate.1-1"> | ||||
| This is an Internet Standards Track document. | ||||
| </t> | ||||
| <t indent="0" pn="section-boilerplate.1-2"> | ||||
| This document is a product of the Internet Engineering Task Force | ||||
| (IETF). It represents the consensus of the IETF community. It has | ||||
| received public review and has been approved for publication by | ||||
| the Internet Engineering Steering Group (IESG). Further | ||||
| information on Internet Standards is available in Section 2 of | ||||
| RFC 7841. | ||||
| </t> | ||||
| <t indent="0" pn="section-boilerplate.1-3"> | ||||
| Information about the current status of this document, any | ||||
| errata, and how to provide feedback on it may be obtained at | ||||
| <eref target="https://www.rfc-editor.org/info/rfc9350" brackets="non | ||||
| e"/>. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="copyright" numbered="false" removeInRFC="false" toc="excl | ||||
| ude" pn="section-boilerplate.2"> | ||||
| <name slugifiedName="name-copyright-notice">Copyright Notice</name> | ||||
| <t indent="0" pn="section-boilerplate.2-1"> | ||||
| Copyright (c) 2023 IETF Trust and the persons identified as the | ||||
| document authors. All rights reserved. | ||||
| </t> | ||||
| <t indent="0" pn="section-boilerplate.2-2"> | ||||
| This document is subject to BCP 78 and the IETF Trust's Legal | ||||
| Provisions Relating to IETF Documents | ||||
| (<eref target="https://trustee.ietf.org/license-info" brackets="none | ||||
| "/>) in effect on the date of | ||||
| publication of this document. Please review these documents | ||||
| carefully, as they describe your rights and restrictions with | ||||
| respect to this document. Code Components extracted from this | ||||
| document must include Revised BSD License text as described in | ||||
| Section 4.e of the Trust Legal Provisions and are provided without | ||||
| warranty as described in the Revised BSD License. | ||||
| </t> | ||||
| </section> | ||||
| </boilerplate> | ||||
| <toc> | ||||
| <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" p | ||||
| n="section-toc.1"> | ||||
| <name slugifiedName="name-table-of-contents">Table of Contents</name> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-to | ||||
| c.1-1"> | ||||
| <li pn="section-toc.1-1.1"> | ||||
| <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref der | ||||
| ivedContent="1" format="counter" sectionFormat="of" target="section-1"/>. <xref | ||||
| derivedContent="" format="title" sectionFormat="of" target="name-introduction"> | ||||
| Introduction</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.2"> | ||||
| <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref der | ||||
| ivedContent="2" format="counter" sectionFormat="of" target="section-2"/>. <xref | ||||
| derivedContent="" format="title" sectionFormat="of" target="name-requirements-l | ||||
| anguage">Requirements Language</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.3"> | ||||
| <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref der | ||||
| ivedContent="3" format="counter" sectionFormat="of" target="section-3"/>. <xref | ||||
| derivedContent="" format="title" sectionFormat="of" target="name-terminology">T | ||||
| erminology</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.4"> | ||||
| <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" form | ||||
| at="counter" sectionFormat="of" target="section-4"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-flexible-algorithm">Flexible Algor | ||||
| ithm</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.5"> | ||||
| <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" form | ||||
| at="counter" sectionFormat="of" target="section-5"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-flexible-algorithm-definiti">Flexi | ||||
| ble Algorithm Definition Advertisement</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.5.2"> | ||||
| <li pn="section-toc.1-1.5.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent= | ||||
| "5.1" format="counter" sectionFormat="of" target="section-5.1"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-is-is-flexible-algorit | ||||
| hm-de">IS-IS Flexible Algorithm Definition Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.5.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent= | ||||
| "5.2" format="counter" sectionFormat="of" target="section-5.2"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-ospf-flexible-algorith | ||||
| m-def">OSPF Flexible Algorithm Definition TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.5.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent= | ||||
| "5.3" format="counter" sectionFormat="of" target="section-5.3"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-common-handling-of-the | ||||
| -flex">Common Handling of the Flexible Algorithm Definition TLV</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6"> | ||||
| <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" form | ||||
| at="counter" sectionFormat="of" target="section-6"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-sub-tlvs-of-is-is-fad-sub-t">Sub-T | ||||
| LVs of IS-IS FAD Sub-TLV</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.6.2"> | ||||
| <li pn="section-toc.1-1.6.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent= | ||||
| "6.1" format="counter" sectionFormat="of" target="section-6.1"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-is-is-flexible-algorit | ||||
| hm-ex">IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent= | ||||
| "6.2" format="counter" sectionFormat="of" target="section-6.2"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-is-is-flexible-algorit | ||||
| hm-in">IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.3.1"><xref derivedContent= | ||||
| "6.3" format="counter" sectionFormat="of" target="section-6.3"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-is-is-flexible-algorit | ||||
| hm-inc">IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.4"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.4.1"><xref derivedContent= | ||||
| "6.4" format="counter" sectionFormat="of" target="section-6.4"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-is-is-flexible-algorit | ||||
| hm-def">IS-IS Flexible Algorithm Definition Flags Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.6.2.5"> | ||||
| <t indent="0" pn="section-toc.1-1.6.2.5.1"><xref derivedContent= | ||||
| "6.5" format="counter" sectionFormat="of" target="section-6.5"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-is-is-flexible-algorit | ||||
| hm-exc">IS-IS Flexible Algorithm Exclude SRLG Sub-TLV</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7"> | ||||
| <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" form | ||||
| at="counter" sectionFormat="of" target="section-7"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-sub-tlvs-of-the-ospf-fad-tl">Sub-T | ||||
| LVs of the OSPF FAD TLV</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.7.2"> | ||||
| <li pn="section-toc.1-1.7.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent= | ||||
| "7.1" format="counter" sectionFormat="of" target="section-7.1"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-ospf-flexible-algorith | ||||
| m-exc">OSPF Flexible Algorithm Exclude Admin Group Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent= | ||||
| "7.2" format="counter" sectionFormat="of" target="section-7.2"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-ospf-flexible-algorith | ||||
| m-inc">OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent= | ||||
| "7.3" format="counter" sectionFormat="of" target="section-7.3"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-ospf-flexible-algorith | ||||
| m-incl">OSPF Flexible Algorithm Include-All Admin Group Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.4"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.4.1"><xref derivedContent= | ||||
| "7.4" format="counter" sectionFormat="of" target="section-7.4"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-ospf-flexible-algorith | ||||
| m-defi">OSPF Flexible Algorithm Definition Flags Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.7.2.5"> | ||||
| <t indent="0" pn="section-toc.1-1.7.2.5.1"><xref derivedContent= | ||||
| "7.5" format="counter" sectionFormat="of" target="section-7.5"/>. <xref derived | ||||
| Content="" format="title" sectionFormat="of" target="name-ospf-flexible-algorith | ||||
| m-excl">OSPF Flexible Algorithm Exclude SRLG Sub-TLV</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.8"> | ||||
| <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" form | ||||
| at="counter" sectionFormat="of" target="section-8"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-is-is-flexible-algorithm-pr">IS-IS | ||||
| Flexible Algorithm Prefix Metric Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.9"> | ||||
| <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" form | ||||
| at="counter" sectionFormat="of" target="section-9"/>. <xref derivedContent="" f | ||||
| ormat="title" sectionFormat="of" target="name-ospf-flexible-algorithm-pre">OSPF | ||||
| Flexible Algorithm Prefix Metric Sub-TLV</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.10"> | ||||
| <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" fo | ||||
| rmat="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-ospf-flexible-algorithm-asb">OSP | ||||
| F Flexible Algorithm ASBR Reachability Advertisement</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.10.2"> | ||||
| <li pn="section-toc.1-1.10.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent | ||||
| ="10.1" format="counter" sectionFormat="of" target="section-10.1"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-ospfv2-extended-int | ||||
| er-area-">OSPFv2 Extended Inter-Area ASBR LSA</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="se | ||||
| ction-toc.1-1.10.2.1.2"> | ||||
| <li pn="section-toc.1-1.10.2.1.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.10.2.1.2.1.1"><xref derive | ||||
| dContent="10.1.1" format="counter" sectionFormat="of" target="section-10.1.1"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv2- | ||||
| extended-inter-area-a">OSPFv2 Extended Inter-Area ASBR TLV</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.10.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent | ||||
| ="10.2" format="counter" sectionFormat="of" target="section-10.2"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-ospf-flexible-algor | ||||
| ithm-asbr">OSPF Flexible Algorithm ASBR Metric Sub-TLV</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.11"> | ||||
| <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" fo | ||||
| rmat="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-advertisement-of-node-parti">Adv | ||||
| ertisement of Node Participation in a Flex-Algorithm</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.11.2"> | ||||
| <li pn="section-toc.1-1.11.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent | ||||
| ="11.1" format="counter" sectionFormat="of" target="section-11.1"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-advertisement-of-no | ||||
| de-partic">Advertisement of Node Participation for Segment Routing</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.11.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent | ||||
| ="11.2" format="counter" sectionFormat="of" target="section-11.2"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-advertisement-of-no | ||||
| de-partici">Advertisement of Node Participation for Other Data Planes</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.12"> | ||||
| <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" fo | ||||
| rmat="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-advertisement-of-link-attri">Adv | ||||
| ertisement of Link Attributes for Flex-Algorithm</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.13"> | ||||
| <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="13" fo | ||||
| rmat="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-calculation-of-flexible-alg">Cal | ||||
| culation of Flexible Algorithm Paths</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.13.2"> | ||||
| <li pn="section-toc.1-1.13.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.13.2.1.1"><xref derivedContent | ||||
| ="13.1" format="counter" sectionFormat="of" target="section-13.1"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-multi-area-and-mult | ||||
| i-domain">Multi-area and Multi-domain Considerations</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.14"> | ||||
| <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="14" fo | ||||
| rmat="counter" sectionFormat="of" target="section-14"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-flex-algorithm-and-forwardi">Fle | ||||
| x-Algorithm and Forwarding Plane</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.14.2"> | ||||
| <li pn="section-toc.1-1.14.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.14.2.1.1"><xref derivedContent | ||||
| ="14.1" format="counter" sectionFormat="of" target="section-14.1"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-segment-routing-mpl | ||||
| s-forwar">Segment Routing MPLS Forwarding for Flex-Algorithm</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.14.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.14.2.2.1"><xref derivedContent | ||||
| ="14.2" format="counter" sectionFormat="of" target="section-14.2"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-srv6-forwarding-for | ||||
| -flex-al">SRv6 Forwarding for Flex-Algorithm</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.14.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.14.2.3.1"><xref derivedContent | ||||
| ="14.3" format="counter" sectionFormat="of" target="section-14.3"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-other-data-planes-f | ||||
| orwardin">Other Data Planes' Forwarding for Flex-Algorithm</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.15"> | ||||
| <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="15" fo | ||||
| rmat="counter" sectionFormat="of" target="section-15"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-operational-considerations">Oper | ||||
| ational Considerations</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.15.2"> | ||||
| <li pn="section-toc.1-1.15.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.15.2.1.1"><xref derivedContent | ||||
| ="15.1" format="counter" sectionFormat="of" target="section-15.1"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-inter-area-consider | ||||
| ations">Inter-area Considerations</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.15.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.15.2.2.1"><xref derivedContent | ||||
| ="15.2" format="counter" sectionFormat="of" target="section-15.2"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-usage-of-the-srlg-e | ||||
| xclude-r">Usage of the SRLG Exclude Rule with Flex-Algorithm</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.15.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.15.2.3.1"><xref derivedContent | ||||
| ="15.3" format="counter" sectionFormat="of" target="section-15.3"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-max-metric-consider | ||||
| ation">Max-Metric Consideration</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.15.2.4"> | ||||
| <t indent="0" pn="section-toc.1-1.15.2.4.1"><xref derivedContent | ||||
| ="15.4" format="counter" sectionFormat="of" target="section-15.4"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-flexible-algorithm- | ||||
| definitio">Flexible Algorithm Definition and Changes</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.15.2.5"> | ||||
| <t indent="0" pn="section-toc.1-1.15.2.5.1"><xref derivedContent | ||||
| ="15.5" format="counter" sectionFormat="of" target="section-15.5"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-number-of-flex-algo | ||||
| rithms">Number of Flex-Algorithms</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.16"> | ||||
| <t indent="0" pn="section-toc.1-1.16.1"><xref derivedContent="16" fo | ||||
| rmat="counter" sectionFormat="of" target="section-16"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-backward-compatibility">Backward | ||||
| Compatibility</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.17"> | ||||
| <t indent="0" pn="section-toc.1-1.17.1"><xref derivedContent="17" fo | ||||
| rmat="counter" sectionFormat="of" target="section-17"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-security-considerations">Securit | ||||
| y Considerations</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18"> | ||||
| <t indent="0" pn="section-toc.1-1.18.1"><xref derivedContent="18" fo | ||||
| rmat="counter" sectionFormat="of" target="section-18"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-iana-considerations">IANA Consid | ||||
| erations</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.18.2"> | ||||
| <li pn="section-toc.1-1.18.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.1.1"><xref derivedContent | ||||
| ="18.1" format="counter" sectionFormat="of" target="section-18.1"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-igp-iana-considerat | ||||
| ions">IGP IANA Considerations</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="se | ||||
| ction-toc.1-1.18.2.1.2"> | ||||
| <li pn="section-toc.1-1.18.2.1.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.1.2.1.1"><xref derive | ||||
| dContent="18.1.1" format="counter" sectionFormat="of" target="section-18.1.1"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-igp-alg | ||||
| orithm-types-registr">IGP Algorithm Types Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.1.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.1.2.2.1"><xref derive | ||||
| dContent="18.1.2" format="counter" sectionFormat="of" target="section-18.1.2"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-igp-met | ||||
| ric-type-registry">IGP Metric-Type Registry</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.2.1"><xref derivedContent | ||||
| ="18.2" format="counter" sectionFormat="of" target="section-18.2"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-igp-flexible-algori | ||||
| thm-defi">IGP Flexible Algorithm Definition Flags Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.3.1"><xref derivedContent | ||||
| ="18.3" format="counter" sectionFormat="of" target="section-18.3"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-is-is-iana-consider | ||||
| ations">IS-IS IANA Considerations</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="se | ||||
| ction-toc.1-1.18.2.3.2"> | ||||
| <li pn="section-toc.1-1.18.2.3.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.3.2.1.1"><xref derive | ||||
| dContent="18.3.1" format="counter" sectionFormat="of" target="section-18.3.1"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-is-is-s | ||||
| ub-tlvs-for-is-is-ro">IS-IS Sub-TLVs for IS-IS Router CAPABILITY TLV Registry</x | ||||
| ref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.3.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.3.2.2.1"><xref derive | ||||
| dContent="18.3.2" format="counter" sectionFormat="of" target="section-18.3.2"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-is-is-s | ||||
| ub-tlvs-for-tlvs-adv">IS-IS Sub-TLVs for TLVs Advertising Prefix Reachability Re | ||||
| gistry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.3.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.3.2.3.1"><xref derive | ||||
| dContent="18.3.3" format="counter" sectionFormat="of" target="section-18.3.3"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-is-is-s | ||||
| ub-sub-tlvs-for-flex">IS-IS Sub-Sub-TLVs for Flexible Algorithm Definition Sub-T | ||||
| LV Registry</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.1"><xref derivedContent | ||||
| ="18.4" format="counter" sectionFormat="of" target="section-18.4"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-ospf-iana-considera | ||||
| tions">OSPF IANA Considerations</xref></t> | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="se | ||||
| ction-toc.1-1.18.2.4.2"> | ||||
| <li pn="section-toc.1-1.18.2.4.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.1.1"><xref derive | ||||
| dContent="18.4.1" format="counter" sectionFormat="of" target="section-18.4.1"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-ospf-ro | ||||
| uter-information-ri-">OSPF Router Information (RI) TLVs Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.2.1"><xref derive | ||||
| dContent="18.4.2" format="counter" sectionFormat="of" target="section-18.4.2"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv2- | ||||
| extended-prefix-tlv-">OSPFv2 Extended Prefix TLV Sub-TLVs Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4.2.3"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.3.1"><xref derive | ||||
| dContent="18.4.3" format="counter" sectionFormat="of" target="section-18.4.3"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv3- | ||||
| extended-lsa-sub-tlv">OSPFv3 Extended-LSA Sub-TLVs Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4.2.4"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.4.1"><xref derive | ||||
| dContent="18.4.4" format="counter" sectionFormat="of" target="section-18.4.4"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-ospf-fl | ||||
| ex-algorithm-prefix-">OSPF Flex-Algorithm Prefix Metric Bits Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4.2.5"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.5.1"><xref derive | ||||
| dContent="18.4.5" format="counter" sectionFormat="of" target="section-18.4.5"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-opaque- | ||||
| link-state-advertise">Opaque Link-State Advertisements (LSA) Option Types Regist | ||||
| ry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4.2.6"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.6.1"><xref derive | ||||
| dContent="18.4.6" format="counter" sectionFormat="of" target="section-18.4.6"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv2- | ||||
| extended-inter-area-as">OSPFv2 Extended Inter-Area ASBR TLVs Registry</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4.2.7"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.7.1"><xref derive | ||||
| dContent="18.4.7" format="counter" sectionFormat="of" target="section-18.4.7"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-ospfv2- | ||||
| extended-inter-area-asbr">OSPFv2 Extended Inter-Area ASBR Sub-TLVs Registry</xre | ||||
| f></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4.2.8"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.8.1"><xref derive | ||||
| dContent="18.4.8" format="counter" sectionFormat="of" target="section-18.4.8"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-ospf-fl | ||||
| exible-algorithm-defin">OSPF Flexible Algorithm Definition TLV Sub-TLVs Registry | ||||
| </xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.18.2.4.2.9"> | ||||
| <t indent="0" pn="section-toc.1-1.18.2.4.2.9.1"><xref derive | ||||
| dContent="18.4.9" format="counter" sectionFormat="of" target="section-18.4.9"/>. | ||||
| <xref derivedContent="" format="title" sectionFormat="of" target="name-link-at | ||||
| tribute-application-">Link Attribute Application Identifiers Registry</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.19"> | ||||
| <t indent="0" pn="section-toc.1-1.19.1"><xref derivedContent="19" fo | ||||
| rmat="counter" sectionFormat="of" target="section-19"/>. <xref derivedContent="" | ||||
| format="title" sectionFormat="of" target="name-references">References</xref></t | ||||
| > | ||||
| <ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
| n-toc.1-1.19.2"> | ||||
| <li pn="section-toc.1-1.19.2.1"> | ||||
| <t indent="0" pn="section-toc.1-1.19.2.1.1"><xref derivedContent | ||||
| ="19.1" format="counter" sectionFormat="of" target="section-19.1"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-normative-reference | ||||
| s">Normative References</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.19.2.2"> | ||||
| <t indent="0" pn="section-toc.1-1.19.2.2.1"><xref derivedContent | ||||
| ="19.2" format="counter" sectionFormat="of" target="section-19.2"/>. <xref deri | ||||
| vedContent="" format="title" sectionFormat="of" target="name-informative-referen | ||||
| ces">Informative References</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.20"> | ||||
| <t indent="0" pn="section-toc.1-1.20.1"><xref derivedContent="" form | ||||
| at="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent=" | ||||
| " format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgeme | ||||
| nts</xref></t> | ||||
| </li> | ||||
| <li pn="section-toc.1-1.21"> | ||||
| <t indent="0" pn="section-toc.1-1.21.1"><xref derivedContent="" form | ||||
| at="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent=" | ||||
| " format="title" sectionFormat="of" target="name-authors-addresses">Authors' Add | ||||
| resses</xref></t> | ||||
| </li> | ||||
| </ul> | ||||
| </section> | ||||
| </toc> | ||||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section title="Introduction"> | <section numbered="true" toc="include" removeInRFC="false" pn="section-1"> | |||
| <t>An IGP-computed path based on the shortest IGP metric is often | <name slugifiedName="name-introduction">Introduction</name> | |||
| <t indent="0" pn="section-1-1">An IGP-computed path based on the shortest | ||||
| IGP metric is often | ||||
| replaced by a traffic-engineered path due to requirements | replaced by a traffic-engineered path due to requirements | |||
| which are not reflected by the IGP metric. Some networks engineer the | that are not reflected by the IGP metric. Some networks engineer the | |||
| IGP metric assignments in a way that the IGP metric reflects the link | IGP metric assignments in a way that the IGP metric reflects the link | |||
| bandwidth or delay. If, for example, the IGP metric reflects the | bandwidth or delay. If, for example, the IGP metric reflects the | |||
| bandwidth on the link and user traffic is delay sensitive, | bandwidth on the link and user traffic is delay sensitive, | |||
| the best IGP path may not reflect the best path from such a user's perspec tive.</t> | the best IGP path may not reflect the best path from such a user's perspec tive.</t> | |||
| <t indent="0" pn="section-1-2">To overcome this limitation, various sorts | ||||
| <t>To overcome this limitation, various sorts of traffic engineering | of Traffic Engineering | |||
| have been deployed, including RSVP-TE and SR-TE, in which case the TE | have been deployed, including RSVP-TE and SR-TE, in which case the TE | |||
| component is responsible for computing paths based on additional metrics | component is responsible for computing paths based on additional metrics | |||
| and/or constraints. Such paths need to be installed in the forwarding | and/or constraints. Such paths need to be installed in the forwarding | |||
| tables in addition to, or as a replacement for, the original paths | tables in addition to, or as a replacement for, the original paths | |||
| computed by IGPs. Tunnels are often used to represent the engineered | computed by IGPs. Tunnels are often used to represent the engineered | |||
| paths and mechanisms like the one described in <xref target="RFC3906"/> ar e | paths and mechanisms, like the one described in <xref target="RFC3906" for mat="default" sectionFormat="of" derivedContent="RFC3906"/>, and are | |||
| used to replace the original IGP paths with such tunnel paths.</t> | used to replace the original IGP paths with such tunnel paths.</t> | |||
| <t indent="0" pn="section-1-3">This document specifies a set of extensions | ||||
| <t>This document specifies a set of extensions to IS-IS, OSPFv2, and | to IS-IS, OSPFv2, and | |||
| OSPFv3 that enable a router to advertise TLVs that (a) identify | OSPFv3 that enable a router to advertise TLVs that (a) identify a | |||
| calculation-type, (b) specify a metric-type, and (c) describe a set of | calculation-type, (b) specify a metric-type, and (c) describe a set of | |||
| constraints on the topology, that are to be used to compute the best | constraints on the topology that are to be used to compute the best | |||
| paths along the constrained topology. A given combination of | paths along the constrained topology. A given combination of | |||
| calculation-type, metric-type, and constraints is known as a "Flexible | calculation-type, metric-type, and constraints is known as a "Flexible | |||
| Algorithm Definition". A router that sends such a set of TLVs also | Algorithm Definition". A router that sends such a set of TLVs also | |||
| assigns a Flex-Algorithm value to the specified combination of | assigns a Flex-Algorithm value to the specified combination of | |||
| calculation-type, metric-type, and constraints.</t> | calculation-type, metric-type, and constraints.</t> | |||
| <t indent="0" pn="section-1-4">This document also specifies a way for a ro | ||||
| <t>This document also specifies a way for a router to use IGPs to | uter to use IGPs to | |||
| associate one or more "Segment Routing with the MPLS Data Plane (SR-MPLS) | associate one or more Segment Routing with the MPLS Data Plane (SR-MPLS) | |||
| " | Prefix-SIDs <xref target="RFC8660" format="default" sectionFormat="of" der | |||
| Prefix-SIDs <xref target="RFC8660"/>, or "Segment Routing over IPv6 (SRv6) | ivedContent="RFC8660"/> or Segment Routing over IPv6 (SRv6) | |||
| " | locators <xref target="RFC8986" format="default" sectionFormat="of" derive | |||
| locators <xref target="RFC8986"/> with a particular Flex-Algorithm. Each | dContent="RFC8986"/> with a particular Flex-Algorithm. Each | |||
| such Prefix-SID or SRv6 locator then represents a path that is computed | such Prefix-SID or SRv6 locator then represents a path that is computed | |||
| according to the identified Flex-Algorithm. In SRv6 it is the locator, not the SID, | according to the identified Flex-Algorithm. In SRv6, it is the locator, no t the Segment Identifier (SID), | |||
| that holds the binding to the algorithm.</t> | that holds the binding to the algorithm.</t> | |||
| </section> | </section> | |||
| <section anchor="reqlang" numbered="true" toc="include" removeInRFC="false" | ||||
| <section anchor="reqlang" title="Requirements Language"> | pn="section-2"> | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <name slugifiedName="name-requirements-language">Requirements Language</na | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | me> | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP 14 | <t indent="0" pn="section-2-1">The key words "<bcp14>MUST</bcp14>", "<bcp1 | |||
| <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, | 4>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14> | |||
| SHALL NOT</bcp14>", | ||||
| "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED< | ||||
| /bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and | ||||
| "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as descri | ||||
| bed in BCP 14 | ||||
| <xref target="RFC2119" format="default" sectionFormat="of" derivedContent= | ||||
| "RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedCo | ||||
| ntent="RFC8174"/> when, and only when, | ||||
| they appear in all capitals, as shown here.</t> | they appear in all capitals, as shown here.</t> | |||
| </section> | </section> | |||
| <section anchor="TERMINOLOGY" numbered="true" toc="include" removeInRFC="fal | ||||
| <section anchor="TERMINOLOGY" title="Terminology"> | se" pn="section-3"> | |||
| <t>This section defines terms that are often used in this document.</t> | <name slugifiedName="name-terminology">Terminology</name> | |||
| <t indent="0" pn="section-3-1">This section defines terms that are often u | ||||
| <t>Flexible Algorithm Definition (FAD) - the set consisting of (a) | sed in this document.</t> | |||
| calculation-type, (b) metric-type, and (c) a set of constraints.</t> | <dl newline="false" spacing="normal" indent="3" pn="section-3-2"> | |||
| <dt pn="section-3-2.1">Flexible Algorithm Definition (FAD):</dt> | ||||
| <t>Flex-Algorithm - a numeric identifier in the range 128-255 that | <dd pn="section-3-2.2">the set consisting of (a) a | |||
| is associated via configuration with the Flexible Algorithm | calculation-type, (b) a metric-type, and (c) a set of constraints.</dd> | |||
| Definition.</t> | <dt pn="section-3-2.3">Flex-Algorithm:</dt> | |||
| <dd pn="section-3-2.4">a numeric identifier in the range 128-255 that | ||||
| <t>Local Flexible Algorithm Definition - Flexible Algorithm Definition | is associated via configuration with the Flexible Algorithm | |||
| defined locally on the node.</t> | Definition.</dd> | |||
| <dt pn="section-3-2.5">Flexible Algorithm Participation:</dt> | ||||
| <t>Remote Flexible Algorithm Definition - Flexible Algorithm Definition | <dd pn="section-3-2.6">per the data plane configuration | |||
| received from other nodes via IGP flooding.</t> | state that expresses whether the node is participating in a particular | |||
| Flexible Algorithm. Not all routers in a given network need to participat | ||||
| <t>Flexible Algorithm Participation - per data-plane configuration | e | |||
| state that expresses whether the node is participating in a particular | in a given Flexible Algorithm. The Flexible Algorithm(s) that a given rou | |||
| Flexible Algorithm. Not all routers in a given network need to participate | ter | |||
| in a given Flexible Algorithm. The Flexible Algorithm(s) a given router | participates in is determined by configuration.</dd> | |||
| participates in is determined by configuration.</t> | <dt pn="section-3-2.7">IGP Algorithm:</dt> | |||
| <dd pn="section-3-2.8">value from the IANA "IGP Algorithm Types" registr | ||||
| <t>IGP Algorithm - value from the "IGP Algorithm Types" registry | y | |||
| defined under "Interior Gateway Protocol (IGP) Parameters" IANA | defined under the "Interior Gateway Protocol (IGP) Parameters" | |||
| registry grouping. IGP Algorithms represents the triplet (calculation-type | registry group. IGP Algorithms represent the triplet (calculation-type, | |||
| , | metric-type, and constraints), where the second and third elements of the | |||
| metric-type, constraints), where the second and third elements of the trip | triplet | |||
| le | <bcp14>MAY</bcp14> be unspecified.</dd> | |||
| MAY be unspecified.</t> | <dt pn="section-3-2.9">ABR:</dt> | |||
| <dd pn="section-3-2.10">Area Border Router. In IS-IS terminology, it is | ||||
| <t>ABR - Area Border Router. In IS-IS terminology it is also known as | also known as the | |||
| L1/L2 router.</t> | Level 1 (L1) / Level 2 (L2) router.</dd> | |||
| <dt pn="section-3-2.11">ASBR:</dt> | ||||
| <t>ASBR - Autonomous System Border Router.</t> | <dd pn="section-3-2.12">Autonomous System Border Router.</dd> | |||
| </dl> | ||||
| </section> | </section> | |||
| <section anchor="FLEXALG" numbered="true" toc="include" removeInRFC="false" | ||||
| <section anchor="FLEXALG" title="Flexible Algorithm"> | pn="section-4"> | |||
| <t>Many possible constraints may be used to compute a path over a | <name slugifiedName="name-flexible-algorithm">Flexible Algorithm</name> | |||
| <t indent="0" pn="section-4-1">Many possible constraints may be used to co | ||||
| mpute a path over a | ||||
| network. Some networks are deployed as multiple planes. A simple form of | network. Some networks are deployed as multiple planes. A simple form of | |||
| constraint may be to use a particular plane. A more sophisticated form | constraint may be to use a particular plane. A more sophisticated form | |||
| of constraint can include some extended metric as described in <xref | of constraint can include some extended metric, as described in <xref targ | |||
| target="RFC8570"/>. Constraints which restrict paths to links with | et="RFC8570" format="default" sectionFormat="of" derivedContent="RFC8570"/>. Con | |||
| straints that restrict paths to links with | ||||
| specific affinities or avoid links with specific affinities are also | specific affinities or avoid links with specific affinities are also | |||
| possible. Combinations of these are also possible.</t> | possible. Combinations of these are also possible.</t> | |||
| <t indent="0" pn="section-4-2">To provide maximum flexibility, a mechanism | ||||
| <t>To provide maximum flexibility, a mechanism is provided that | is provided that | |||
| allows a router to (a) identify a particular calculation-type and (b) | allows a router to identify a particular calculation-type and | |||
| metric-type, (c) describe a particular set of constraints, and (d) | metric-type, describe a particular set of constraints, and | |||
| assign a numeric identifier, referred to as Flex-Algorithm, to the | assign a numeric identifier, referred to as Flex-Algorithm, to the | |||
| combination of that calculation-type, metric-type, and those | combination of that calculation-type, metric-type, and those | |||
| constraints. The mapping between the Flex-Algorithm and its | constraints. The mapping between the Flex-Algorithm and its | |||
| meaning is flexible and defined by the user. As long as all routers | meaning is flexible and defined by the user. As long as all routers | |||
| in the domain have a common understanding as to what a particular | in the domain have a common understanding as to what a particular | |||
| Flex-Algorithm represents, the resulting routing computation is | Flex-Algorithm represents, the resulting routing computation is | |||
| consistent and traffic is not subject to any looping.</t> | consistent and traffic is not subject to any looping.</t> | |||
| <t indent="0" pn="section-4-3">The set consisting of (a) a calculation-typ | ||||
| <t>The set consisting of (a) calculation-type, (b) metric-type, and (c) | e, (b) a metric-type, and (c) | |||
| a set of constraints is referred to as a Flexible Algorithm | a set of constraints is referred to as a Flexible Algorithm | |||
| Definition.</t> | Definition.</t> | |||
| <t indent="0" pn="section-4-4">The Flex-Algorithm is a numeric identifier | ||||
| <t>Flex-Algorithm is a numeric identifier in the range 128-255 that | in the range 128-255 that | |||
| is associated via configuration with the Flexible Algorithm | is associated via configuration with the Flexible Algorithm | |||
| Definition.</t> | Definition.</t> | |||
| <t indent="0" pn="section-4-5">The IANA "IGP Algorithm Types" registry def | ||||
| <t>The IANA "IGP Algorithm Types" registry defines the set of values for I | ines the set of values for IGP | |||
| GP | Algorithms. The following values are allocated by IANA from this registry | |||
| Algorithms. The following values area allocated by IANA from this registry | for | |||
| for | Flex-Algorithms: </t> | |||
| Flex-Algorithms: <list style="hanging"> | <t indent="3" pn="section-4-6">128-255 - Flex-Algorithms</t> | |||
| <t>128-255 - Flex-Algorithms</t> | ||||
| </list></t> | ||||
| </section> | </section> | |||
| <section anchor="FLEXALGDEF" numbered="true" toc="include" removeInRFC="fals | ||||
| <section anchor="FLEXALGDEF" | e" pn="section-5"> | |||
| title="Flexible Algorithm Definition Advertisement"> | <name slugifiedName="name-flexible-algorithm-definiti">Flexible Algorithm | |||
| <t>To guarantee loop-free forwarding for paths computed for a | Definition Advertisement</name> | |||
| <t indent="0" pn="section-5-1">To guarantee loop-free forwarding for paths | ||||
| computed for a | ||||
| particular Flex-Algorithm, all routers that (a) are configured to | particular Flex-Algorithm, all routers that (a) are configured to | |||
| participate in a particular Flex-Algorithm, and (b) are in the same | participate in a particular Flex-Algorithm and (b) are in the same | |||
| Flex-Algorithm definition advertisement scope MUST agree on the | Flex-Algorithm Definition advertisement scope <bcp14>MUST</bcp14> agree on | |||
| the | ||||
| definition of the Flex-Algorithm. The following procedures | definition of the Flex-Algorithm. The following procedures | |||
| ensure this condition is fulfilled.</t> | ensure this condition is fulfilled.</t> | |||
| <section anchor="ISISFLEXALGTLV" numbered="true" toc="include" removeInRFC | ||||
| <section anchor="ISISFLEXALGTLV" | ="false" pn="section-5.1"> | |||
| title="IS-IS Flexible Algorithm Definition Sub-TLV"> | <name slugifiedName="name-is-is-flexible-algorithm-de">IS-IS Flexible Al | |||
| <t>The IS-IS Flexible Algorithm Definition Sub-TLV (FAD Sub-TLV) is | gorithm Definition Sub-TLV</name> | |||
| <t indent="0" pn="section-5.1-1">The IS-IS Flexible Algorithm Definition | ||||
| (FAD) sub-TLV is | ||||
| used to advertise the definition of the Flex-Algorithm.</t> | used to advertise the definition of the Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-5.1-2">The IS-IS FAD sub-TLV is advertised as | ||||
| <t>The IS-IS FAD Sub-TLV is advertised as a Sub-TLV of the IS-IS Router | a sub-TLV of the IS-IS Router | |||
| Capability TLV-242 that is defined in <xref target="RFC7981"/>.</t> | CAPABILITY TLV-242, which is defined in <xref target="RFC7981" format="d | |||
| efault" sectionFormat="of" derivedContent="RFC7981"/>.</t> | ||||
| <t>IS-IS FAD Sub-TLV has the following format: <figure> | <t indent="0" pn="section-5.1-3">The IS-IS FAD sub-TLV has the following | |||
| <artwork><![CDATA[ | format: </t> | |||
| <artwork name="" type="" align="left" alt="" pn="section-5.1-4"> | ||||
| 0 1 2 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 |Flex-Algorithm | Metric-Type | | | Type | Length |Flex-Algorithm | Metric-Type | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Calc-Type | Priority | | | Calc-Type | Priority | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Sub-TLVs | | | Sub-TLVs | | |||
| + + | + + | |||
| | ... | | | ... | | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| </artwork> | ||||
| where: | <dl newline="true" spacing="normal" indent="3" pn="section-5.1-5"> | |||
| ]]></artwork> | <dt pn="section-5.1-5.1">where:</dt> | |||
| </figure> <list style="hanging"> | <dd pn="section-5.1-5.2"> | |||
| <t>Type: 26</t> | <dl newline="false" spacing="normal" indent="3" pn="section-5.1-5.2. | |||
| 1"> | ||||
| <t>Length: variable number of octets, dependent on the included Sub- | <dt pn="section-5.1-5.2.1.1">Type:</dt> | |||
| TLVs</t> | <dd pn="section-5.1-5.2.1.2">26</dd> | |||
| <dt pn="section-5.1-5.2.1.3">Length:</dt> | ||||
| <t>Flex-Algorithm: Flexible Algorithm number. Single octet value bet | <dd pn="section-5.1-5.2.1.4">variable number of octets, dependent | |||
| ween | on the included sub-TLVs.</dd> | |||
| 128 and 255 inclusive.</t> | <dt pn="section-5.1-5.2.1.5">Flex-Algorithm:</dt> | |||
| <dd pn="section-5.1-5.2.1.6">Flexible Algorithm number. Single oct | ||||
| <t>Metric-Type: Type of metric from the "IGP Metric-Type Registry" | et value between | |||
| (<xref target="IGPMETRICTYPE"/>) to be used during the calculation. | 128 and 255 inclusive.</dd> | |||
| The following values are defined: <list style="hanging"> | <dt pn="section-5.1-5.2.1.7">Metric-Type:</dt> | |||
| <t>0: IGP Metric</t> | <dd pn="section-5.1-5.2.1.8"> | |||
| <t indent="0" pn="section-5.1-5.2.1.8.1">type of metric from the | ||||
| <t>1: Min Unidirectional Link Delay as defined in <xref | IANA "IGP Metric-Type" registry | |||
| target="RFC8570"/>, section 4.2, encoded as application | (<xref target="IGPMETRICTYPE" format="default" sectionFormat="of" | |||
| specific link attribute as specified in <xref | derivedContent="Section 18.1.2"/>) to be used during the | |||
| target="RFC8919"/> and <xref target="FLEXALGLINKATTR"/> of | calculation. The following values are defined: </t> | |||
| this document.</t> | <dl newline="false" spacing="normal" indent="3" pn="section-5.1- | |||
| 5.2.1.8.2"> | ||||
| <t>2: Traffic Engineering Default Metric as defined in <xref | <dt pn="section-5.1-5.2.1.8.2.1">0:</dt> | |||
| target="RFC5305"/>, section 3.7, encoded as application | <dd pn="section-5.1-5.2.1.8.2.2">IGP Metric</dd> | |||
| specific link attribute as specified in <xref | <dt pn="section-5.1-5.2.1.8.2.3">1:</dt> | |||
| target="RFC8919"/> and <xref target="FLEXALGLINKATTR"/> of | <dd pn="section-5.1-5.2.1.8.2.4">Min Unidirectional Link Delay | |||
| this document.</t> | , as defined in <xref target="RFC8570" section="4.2" sectionFormat="of" format=" | |||
| </list></t> | default" derivedLink="https://rfc-editor.org/rfc/rfc8570#section-4.2" derivedCon | |||
| tent="RFC8570"/>, encoded as an application-specific link attribute, as specifie | ||||
| <t>Calc-Type: calculation-type, value from 0 to 127 inclusive from t | d in <xref target="RFC8919" format="default" sectionFormat="of" derivedContent=" | |||
| he "IGP | RFC8919"/> and <xref target="FLEXALGLINKATTR" format="default" sectionFormat="of | |||
| Algorithm Types" registry defined under "Interior Gateway Protocol | " derivedContent="Section 12"/> of this document.</dd> | |||
| (IGP) Parameters" IANA registries. IGP algorithms in the range of | <dt pn="section-5.1-5.2.1.8.2.5">2:</dt> | |||
| 0-127 have a defined triplet (calculation-type, metric-type, | <dd pn="section-5.1-5.2.1.8.2.6">Traffic Engineering Default M | |||
| constraints). When used to specify the calculation-type in the FAD | etric, as defined in <xref target="RFC5305" section="3.7" sectionFormat="of" for | |||
| Sub-TLV, only the calculation-type defined for the specified IGP | mat="default" derivedLink="https://rfc-editor.org/rfc/rfc5305#section-3.7" deriv | |||
| Algorithm is used. The Metric/Constraints MUST NOT be inherited. | edContent="RFC5305"/>, encoded as an | |||
| If the required calculation-type is Shortest Path First, the value | application-specific link attribute, as specified in <xref targ | |||
| 0 MUST appear in this field.</t> | et="RFC8919" format="default" sectionFormat="of" derivedContent="RFC8919"/> and | |||
| <xref target="FLEXALGLINKATTR" format="default" sectionFormat="of" derivedConten | ||||
| <t>Priority: Value between 0 and 255 inclusive that specifies the | t="Section 12"/> of this document.</dd> | |||
| priority of the advertisement. Numerically greater values are prefer | </dl> | |||
| red. | </dd> | |||
| Usage fo the priority is described in <xref target="COMMONLEXALGTLV" | <dt pn="section-5.1-5.2.1.9">Calc-Type:</dt> | |||
| />.</t> | <dd pn="section-5.1-5.2.1.10">calculation-type. Value from 0-127 i | |||
| nclusive from the IANA "IGP | ||||
| <t>Sub-TLVs - optional sub-TLVs.</t> | Algorithm Types" registry defined under the "Interior Gateway Prot | |||
| </list></t> | ocol | |||
| (IGP) Parameters" registry. IGP Algorithms in the range of | ||||
| <t>The IS-IS FAD Sub-TLV MAY be advertised in an LSP of any number. | 0-127 have a defined triplet (calculation-type, metric-type, | |||
| IS-IS router MAY advertise more than one IS-IS FAD Sub-TLV for a given | constraints). When used to specify the calculation-type in the FAD | |||
| Flexible Algorithm (see <xref target="ISISFADLTLVS"/>).</t> | sub-TLV, only the calculation-type defined for the specified IGP | |||
| Algorithm is used. The Metric/Constraints <bcp14>MUST NOT</bcp14> | ||||
| <t>The IS-IS FAD Sub-TLV has an area scope. The Router Capability TLV | be | |||
| in which the FAD Sub-TLV is present MUST have the S-bit clear.</t> | inherited. | |||
| If the required calculation-type is Shortest Path First, the value | ||||
| <t>An IS-IS L1/L2 router MAY be configured to re-generate the winning FA | 0 <bcp14>MUST</bcp14> appear in this field.</dd> | |||
| D | <dt pn="section-5.1-5.2.1.11">Priority:</dt> | |||
| <dd pn="section-5.1-5.2.1.12">value between 0 and 255 inclusive th | ||||
| at specifies the | ||||
| priority of the advertisement. Numerically greater values are pref | ||||
| erred. | ||||
| Usage of the priority is described in <xref target="COMMONLEXALGTL | ||||
| V" format="default" sectionFormat="of" derivedContent="Section 5.3"/>.</dd> | ||||
| <dt pn="section-5.1-5.2.1.13">Sub-TLVs:</dt> | ||||
| <dd pn="section-5.1-5.2.1.14">optional sub-TLVs.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-5.1-6">The IS-IS FAD sub-TLV <bcp14>MAY</bcp14 | ||||
| > be advertised in a Label Switched Path (LSP) of any number. | ||||
| The IS-IS router <bcp14>MAY</bcp14> advertise more than one IS-IS FAD su | ||||
| b-TLV for a given | ||||
| Flexible Algorithm (see <xref target="ISISFADLTLVS" format="default" sec | ||||
| tionFormat="of" derivedContent="Section 6"/>).</t> | ||||
| <t indent="0" pn="section-5.1-7">The IS-IS FAD sub-TLV has an area/level | ||||
| scope. The Router Capability TLV | ||||
| in which the FAD sub-TLV is present <bcp14>MUST</bcp14> have the S bit c | ||||
| lear.</t> | ||||
| <t indent="0" pn="section-5.1-8">An IS-IS L1/L2 router <bcp14>MAY</bcp14 | ||||
| > be configured to regenerate the winning FAD | ||||
| from level 2, without any modification to it, to the level 1 area. The | from level 2, without any modification to it, to the level 1 area. The | |||
| re-generation of the FAD Sub-TLV from level 2 to level 1 is determined | regeneration of the FAD sub-TLV from level 2 to level 1 is determined | |||
| by the L1/L2 router, not by the originator of the FAD advertisement in | by the L1/L2 router, not by the originator of the FAD advertisement in | |||
| the level 2. In such a case, the re-generated FAD Sub-TLV will be | level 2. In such a case, the regenerated FAD sub-TLV will be | |||
| advertised in the level 1 Router Capability TLV originated by the | advertised in the level 1 Router Capability TLV originated by the | |||
| L1/L2 router.</t> | L1/L2 router.</t> | |||
| <t indent="0" pn="section-5.1-9">An L1/L2 router <bcp14>MUST NOT</bcp14> | ||||
| <t>An L1/L2 router MUST NOT re-generate any FAD Sub-TLV from level 1 to | regenerate any FAD sub-TLV from level 1 to | |||
| level 2.</t> | level 2.</t> | |||
| </section> | </section> | |||
| <section anchor="OSPFFLEXALGTLV" numbered="true" toc="include" removeInRFC | ||||
| ="false" pn="section-5.2"> | ||||
| <name slugifiedName="name-ospf-flexible-algorithm-def">OSPF Flexible Alg | ||||
| orithm Definition TLV</name> | ||||
| <t indent="0" pn="section-5.2-1">The OSPF FAD TLV is advertised as a top | ||||
| -level TLV of the Router Information (RI) | ||||
| Link State Advertisement (LSA), which is defined in <xref target="RFC777 | ||||
| 0" format="default" sectionFormat="of" derivedContent="RFC7770"/>.</t> | ||||
| <t indent="0" pn="section-5.2-2">The OSPF FAD TLV has the following form | ||||
| at: </t> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-5.2-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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |Flex-Algorithm | Metric-Type | Calc-Type | Priority | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Sub-TLVs | | ||||
| + + | ||||
| | ... | | ||||
| <section anchor="OSPFFLEXALGTLV" | | | | |||
| title="OSPF Flexible Algorithm Definition TLV"> | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| <t>The OSPF FAD TLV is advertised as a top-level TLV of the Router Infor | </artwork> | |||
| mation (RI) | <dl newline="true" spacing="normal" indent="3" pn="section-5.2-4"> | |||
| LSA that is defined in <xref target="RFC7770"/>.</t> | <dt pn="section-5.2-4.1">where:</dt> | |||
| <dd pn="section-5.2-4.2"> | ||||
| <t>The OSPF FAD TLV has the following format: <figure> | <dl newline="false" spacing="normal" indent="3" pn="section-5.2-4.2. | |||
| <artwork><![CDATA[ | 1"> | |||
| <dt pn="section-5.2-4.2.1.1">Type:</dt> | ||||
| 0 1 2 3 | <dd pn="section-5.2-4.2.1.2">16</dd> | |||
| 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 | <dt pn="section-5.2-4.2.1.3">Length:</dt> | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <dd pn="section-5.2-4.2.1.4">variable number of octets, dependent | |||
| | Type | Length | | on the included sub-TLVs.</dd> | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <dt pn="section-5.2-4.2.1.5">Flex-Algorithm:</dt> | |||
| |Flex-Algorithm | Metric-Type | Calc-Type | Priority | | <dd pn="section-5.2-4.2.1.6">Flexible Algorithm number. Single oct | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | et value between | |||
| | Sub-TLVs | | 128 and 255 inclusive.</dd> | |||
| + + | <dt pn="section-5.2-4.2.1.7">Metric-Type: </dt> | |||
| | ... | | <dd pn="section-5.2-4.2.1.8"> | |||
| <t indent="0" pn="section-5.2-4.2.1.8.1">type of metric from the | ||||
| | | | IANA "IGP Metric-Type" registry | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | (<xref target="IGPMETRICTYPE" format="default" sectionFormat="of" | |||
| derivedContent="Section 18.1.2"/>) to be used during the | ||||
| where: | calculation. The following values are defined: </t> | |||
| ]]></artwork> | <dl newline="false" spacing="normal" indent="3" pn="section-5.2- | |||
| </figure> <list style="hanging"> | 4.2.1.8.2"> | |||
| <t>Type: 16</t> | <dt pn="section-5.2-4.2.1.8.2.1">0:</dt> | |||
| <dd pn="section-5.2-4.2.1.8.2.2">IGP Metric</dd> | ||||
| <t>Length: variable number of octets, dependent on the included Sub- | <dt pn="section-5.2-4.2.1.8.2.3">1:</dt> | |||
| TLVs</t> | <dd pn="section-5.2-4.2.1.8.2.4">Min Unidirectional Link Delay | |||
| , as defined in <xref target="RFC7471" section="4.2" sectionFormat="of" format=" | ||||
| <t>Flex-Algorithm: Flexible Algorithm number. Single octet value bet | default" derivedLink="https://rfc-editor.org/rfc/rfc7471#section-4.2" derivedCon | |||
| ween | tent="RFC7471"/>, encoded as an | |||
| 128 and 255 inclusive.</t> | application-specific link attribute, as specified in <xref target=" | |||
| RFC8920" format="default" sectionFormat="of" derivedContent="RFC8920"/> and <xre | ||||
| <t>Metric-Type: Type of metric from the "IGP Metric-Type Registry" | f target="FLEXALGLINKATTR" format="default" sectionFormat="of" derivedContent="S | |||
| (<xref target="IGPMETRICTYPE"/>) to be used during the calculation. | ection 12"/> of | |||
| The following values are defined: <list style="hanging"> | this document.</dd> | |||
| <t>0: IGP Metric</t> | <dt pn="section-5.2-4.2.1.8.2.5">2:</dt> | |||
| <dd pn="section-5.2-4.2.1.8.2.6">Traffic Engineering Metric, a | ||||
| <t>1: Min Unidirectional Link Delay as defined in <xref | s defined in <xref target="RFC3630" section="2.5.5" sectionFormat="of" format="d | |||
| target="RFC7471"/>, section 4.2, encoded as application | efault" derivedLink="https://rfc-editor.org/rfc/rfc3630#section-2.5.5" derivedCo | |||
| specific link attribute as specified in <xref | ntent="RFC3630"/>, encoded as an | |||
| target="RFC8920"/> and <xref target="FLEXALGLINKATTR"/> of | application-specific link attribute, as specified in <xref target=" | |||
| this document.</t> | RFC8920" format="default" sectionFormat="of" derivedContent="RFC8920"/> and <xre | |||
| f target="FLEXALGLINKATTR" format="default" sectionFormat="of" derivedContent="S | ||||
| <t>2: Traffic Engineering metric as defined in <xref | ection 12"/> of | |||
| target="RFC3630"/>, section 2.5.5, encoded as application | this document.</dd> | |||
| specific link attribute as specified in <xref | </dl> | |||
| target="RFC8920"/> and <xref target="FLEXALGLINKATTR"/> of | </dd> | |||
| this document.</t> | <dt pn="section-5.2-4.2.1.9">Calc-Type:</dt> | |||
| </list></t> | <dd pn="section-5.2-4.2.1.10">as described in <xref target="ISISFL | |||
| EXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.1"/>.</d | ||||
| <t>Calc-Type: as described in <xref target="ISISFLEXALGTLV"/></t> | d> | |||
| <dt pn="section-5.2-4.2.1.11">Priority: </dt> | ||||
| <t>Priority: as described in <xref target="ISISFLEXALGTLV"/></t> | <dd pn="section-5.2-4.2.1.12">as described in <xref target="ISISFL | |||
| EXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.1"/>.</d | ||||
| <t>Sub-TLVs - optional sub-TLVs.</t> | d> | |||
| </list></t> | <dt pn="section-5.2-4.2.1.13">Sub-TLVs:</dt> | |||
| <dd pn="section-5.2-4.2.1.14">optional sub-TLVs.</dd> | ||||
| <t>When multiple OSPF FAD TLVs, for the same Flexible Algorithm, are | </dl> | |||
| received from a given router, the receiver MUST use the first | </dd> | |||
| occurrence of the TLV in the Router Information LSA. If the OSPF FAD | </dl> | |||
| TLV, for the same Flex-Algorithm, appears in multiple Router | <t indent="0" pn="section-5.2-5">When multiple OSPF FAD TLVs, for the sa | |||
| Information LSAs that have different flooding scopes, the OSPF FAD TLV | me Flexible Algorithm, are | |||
| in the Router Information LSA with the area-scoped flooding scope MUST | received from a given router, the receiver <bcp14>MUST</bcp14> use the f | |||
| irst | ||||
| occurrence of the TLV in the RI LSA. If the OSPF FAD | ||||
| TLV, for the same Flex-Algorithm, appears in multiple RI | ||||
| LSAs that have different flooding scopes, the OSPF FAD TLV | ||||
| in the RI LSA with the area-scoped flooding scope <bcp14>MUST</bcp14> | ||||
| be used. If the OSPF FAD TLV, for the same algorithm, appears in | be used. If the OSPF FAD TLV, for the same algorithm, appears in | |||
| multiple Router Information LSAs that have the same flooding scope, | multiple RI LSAs that have the same flooding scope, | |||
| the OSPF FAD TLV in the Router Information (RI) LSA with the | the OSPF FAD TLV in the RI LSA with the | |||
| numerically smallest Instance ID MUST be used and subsequent instances | numerically smallest Instance ID <bcp14>MUST</bcp14> be used and subsequ | |||
| of the OSPF FAD TLV MUST be ignored.</t> | ent | |||
| instances of the OSPF FAD TLV <bcp14>MUST</bcp14> be ignored.</t> | ||||
| <t>The RI LSA can be advertised at any of the defined opaque flooding | <t indent="0" pn="section-5.2-6">The RI LSA can be advertised at any of | |||
| the defined opaque flooding | ||||
| scopes (link, area, or Autonomous System (AS)). For the purpose of | scopes (link, area, or Autonomous System (AS)). For the purpose of | |||
| OSPF FAD TLV advertisement, area-scoped flooding is REQUIRED. The | OSPF FAD TLV advertisement, area-scoped flooding is <bcp14>REQUIRED</bcp | |||
| Autonomous System flooding scope SHOULD NOT be used unless | 14>. The | |||
| local configuration policy on the originating router indicates domain | AS flooding scope <bcp14>SHOULD NOT</bcp14> be used unless | |||
| wide flooding.</t> | local configuration policy on the originating router indicates domain-wi | |||
| de | ||||
| flooding.</t> | ||||
| </section> | </section> | |||
| <section anchor="COMMONLEXALGTLV" numbered="true" toc="include" removeInRF | ||||
| <section anchor="COMMONLEXALGTLV" | C="false" pn="section-5.3"> | |||
| title="Common Handling of Flexible Algorithm Definition TLV"> | <name slugifiedName="name-common-handling-of-the-flex">Common Handling o | |||
| <t>This section describes the protocol-independent handling of the FAD | f the Flexible Algorithm Definition TLV</name> | |||
| TLV (OSPF) or FAD Sub-TLV (IS-IS). We will refer to it as FAD TLV in | <t indent="0" pn="section-5.3-1">This section describes the protocol-ind | |||
| this section, even though in the case of IS-IS it is a Sub-TLV.</t> | ependent handling of the FAD | |||
| TLV (OSPF) or FAD sub-TLV (IS-IS). We will refer to it as FAD TLV in | ||||
| <t>The value of the Flex-Algorithm MUST be between 128 and 255 | this section, even though, in the case of IS-IS, it is a sub-TLV.</t> | |||
| inclusive. If it is not, the FAD TLV MUST be ignored.</t> | <t indent="0" pn="section-5.3-2">The value of the Flex-Algorithm <bcp14> | |||
| MUST</bcp14> be between 128 and 255 | ||||
| <t>Only a subset of the routers participating in the particular | inclusive. If it is not, the FAD TLV <bcp14>MUST</bcp14> be ignored.</t> | |||
| <t indent="0" pn="section-5.3-3">Only a subset of the routers participat | ||||
| ing in the particular | ||||
| Flex-Algorithm need to advertise the definition of the | Flex-Algorithm need to advertise the definition of the | |||
| Flex-Algorithm.</t> | Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-5.3-4">Every router that is configured to part | ||||
| <t>Every router, that is configured to participate in a particular | icipate in a particular | |||
| Flex-Algorithm, MUST select the Flex-Algorithm definition based on the | Flex-Algorithm <bcp14>MUST</bcp14> select the Flex-Algorithm Definition | |||
| based on the | ||||
| following ordered rules. This allows for the consistent Flex-Algorithm | following ordered rules. This allows for the consistent Flex-Algorithm | |||
| definition selection in cases where different routers advertise | Definition selection in cases where different routers advertise | |||
| different definitions for a given Flex-Algorithm: <list> | different definitions for a given Flex-Algorithm: </t> | |||
| <t>1. From the advertisements of the FAD in the area (including | <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5. | |||
| both locally generated advertisements and received advertisements) | 3-5"> | |||
| select the one(s) with the numerically greatest priority value.</t> | <li pn="section-5.3-5.1" derivedCounter="1.">From the advertisements o | |||
| f the FAD in the area (including | ||||
| <t>2. If there are multiple advertisements of the FAD with the | both locally generated advertisements and received advertisements), | |||
| same numerically greatest priority, select the one that is originate | select the one(s) with the numerically greatest priority value.</li> | |||
| d from the | <li pn="section-5.3-5.2" derivedCounter="2.">If there are multiple adv | |||
| router with the numerically greatest System-ID, in the case of IS-IS | ertisements of the FAD with the | |||
| , or Router | same numerically greatest priority, select the one that is originated | |||
| ID, in the case of OSPFv2 and OSPFv3. For IS-IS, the System-ID is | from | |||
| described in <xref target="ISO10589"/>. For OSPFv2 and OSPFv3, | the router with the numerically greatest System-ID, in the case of IS-I | |||
| standard Router ID is described in <xref target="RFC2328"/> and | S, or | |||
| <xref target="RFC5340"/> respectively.</t> | Router ID, in the case of OSPFv2 and OSPFv3. For IS-IS, the System-ID i | |||
| </list></t> | s | |||
| described in <xref target="ISO10589" format="default" sectionFormat="o | ||||
| <t>The FAD selected according to these rules is also known as the | f" derivedContent="ISO10589"/>. For OSPFv2 and OSPFv3, | |||
| the standard Router ID is described in <xref target="RFC2328" format=" | ||||
| default" sectionFormat="of" derivedContent="RFC2328"/> and <xref target="RFC5340 | ||||
| " format="default" sectionFormat="of" derivedContent="RFC5340"/>, | ||||
| respectively.</li> | ||||
| </ol> | ||||
| <t indent="0" pn="section-5.3-6">The FAD selected according to these rul | ||||
| es is also known as the | ||||
| "winning FAD".</t> | "winning FAD".</t> | |||
| <t indent="0" pn="section-5.3-7">A router that is not configured to part | ||||
| <t>A router that is not configured to participate in a particular | icipate in a particular | |||
| Flex-Algorithm MUST ignore FAD Sub-TLVs advertisements for such | Flex-Algorithm <bcp14>MUST</bcp14> ignore FAD sub-TLV advertisements for | |||
| such | ||||
| Flex-Algorithm.</t> | Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-5.3-8">A router that is not participating in a | ||||
| <t>A router that is not participating in a particular Flex-Algorithm | particular Flex-Algorithm | |||
| MAY advertise FAD for such Flex-Algorithm. Receiving routers | <bcp14>MAY</bcp14> advertise the FAD for such Flex-Algorithm. Receiving | |||
| MUST consider a received FAD advertisement regardless of the Flex-Algori | routers | |||
| thm | <bcp14>MUST</bcp14> consider a received FAD advertisement regardless of | |||
| the Flex-Algorithm | ||||
| participation of that FAD advertisement's originator.</t> | participation of that FAD advertisement's originator.</t> | |||
| <t indent="0" pn="section-5.3-9">Any change in the Flex-Algorithm Defini | ||||
| <t>Any change in the Flex-Algorithm definition may result in temporary | tion may result in a temporary | |||
| disruption of traffic that is forwarded based on such Flex-Algorithm | disruption of traffic that is forwarded based on such Flex-Algorithm | |||
| paths. The impact is similar to any other event that requires | paths. The impact is similar to any other event that requires | |||
| network-wide convergence.</t> | network-wide convergence.</t> | |||
| <t indent="0" pn="section-5.3-10">If a node is configured to participate | ||||
| <t>If a node is configured to participate in a particular | in a particular | |||
| Flexible Algorithm, but there is no valid Flex-Algorithm definition avai | Flexible Algorithm, but there is no valid Flex-Algorithm Definition avai | |||
| lable for | lable for | |||
| it, or the selected Flex-Algorithm definition includes calculation-type, | it or the selected Flex-Algorithm Definition includes calculation-type, | |||
| metric-type, | metric-type, | |||
| constraint, flag, or Sub-TLV that is not supported by the node, it MUST | constraint, flag, or sub-TLV that is not supported by the node, it <bcp1 | |||
| stop | 4>MUST</bcp14> stop | |||
| participating in such Flexible Algorithm. That implies that it MUST NOT | participating in such Flexible Algorithm. That implies that it <bcp14>MU | |||
| announce | ST NOT</bcp14> announce | |||
| participation for such Flexible Algorithm as specified in <xref | participation for such Flexible Algorithm, as specified in <xref target= | |||
| target="FLEXALGPART"/> and it MUST remove any forwarding state | "FLEXALGPART" format="default" sectionFormat="of" derivedContent="Section 11"/>, | |||
| and it <bcp14>MUST</bcp14> remove any forwarding state | ||||
| associated with it.</t> | associated with it.</t> | |||
| <t indent="0" pn="section-5.3-11">The Flex-Algorithm Definition is topol | ||||
| <t>Flex-Algorithm definition is topology independent. It applies to | ogy independent. It applies to | |||
| all topologies that a router participates in.</t> | all topologies that a router participates in.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="ISISFADLTLVS" numbered="true" toc="include" removeInRFC="fa | ||||
| <section anchor="ISISFADLTLVS" title="Sub-TLVs of IS-IS FAD Sub-TLV"> | lse" pn="section-6"> | |||
| <name slugifiedName="name-sub-tlvs-of-is-is-fad-sub-t">Sub-TLVs of IS-IS F | ||||
| <t>One of the limitations of IS-IS <xref target="ISO10589"/> is that the len | AD Sub-TLV</name> | |||
| gth of | <t indent="0" pn="section-6-1">One of the limitations of IS-IS <xref targe | |||
| t="ISO10589" format="default" sectionFormat="of" derivedContent="ISO10589"/> is | ||||
| that the length of | ||||
| a TLV/sub-TLV is limited to a maximum of 255 octets. For the FAD sub-TLV, th ere are | a TLV/sub-TLV is limited to a maximum of 255 octets. For the FAD sub-TLV, th ere are | |||
| a number of sub-sub-TLVs (defined below) which are supported. For a given | a number of sub-sub-TLVs (defined below) that are supported. For a given | |||
| Flex-Algorithm, it is possible that the total number of octets required to | Flex-Algorithm, it is possible that the total number of octets required to | |||
| completely define a FAD exceeds the maximum length supported by a single FAD sub-TLV. | completely define a FAD exceeds the maximum length supported by a single FAD sub-TLV. | |||
| In such cases, the FAD MAY be split into multiple such sub-TLVs and the cont | In such cases, the FAD <bcp14>MAY</bcp14> be split into multiple such sub-TL | |||
| ent of | Vs, and the content of | |||
| the multiple FAD sub-TLVs combined to provide a complete FAD for the Flex-Al | the multiple FAD sub-TLVs are combined to provide a complete FAD for the Fle | |||
| gorithm. | x-Algorithm. | |||
| In such a case, the fixed portion of the FAD (see <xref target="ISISFLEXALGT | In such a case, the fixed portion of the FAD (see <xref target="ISISFLEXALGT | |||
| LV"/>) | LV" format="default" sectionFormat="of" derivedContent="Section 5.1"/>) | |||
| MUST be identical in all FAD sub-TLVs for a given Flex-Algorithm from a give | <bcp14>MUST</bcp14> be identical in all FAD sub-TLVs for a given Flex-Algori | |||
| n IS. | thm from a given IS. | |||
| In case the fixed portion of such FAD Sub-TLVs differ, the values | In case the fixed portion of such FAD sub-TLVs differ, the values | |||
| in the fixed portion in the FAD sub-TLV in the first occurrence in the lowes | in the fixed portion in the FAD sub-TLV in the first occurrence in the lowes | |||
| t | t-numbered LSP from a given IS <bcp14>MUST</bcp14> be used.</t> | |||
| numbered LSP from a given IS MUST be used.</t> | <t indent="0" pn="section-6-2">Any specification that introduces a new IS- | |||
| IS FAD sub-sub-TLV <bcp14>MUST</bcp14> specify whether | ||||
| <t>Any specification that introduces a new IS-IS FAD sub-sub-TLV MUST specif | ||||
| y whether | ||||
| the FAD sub-TLV may appear multiple times in the set of FAD sub-TLVs for a g iven | the FAD sub-TLV may appear multiple times in the set of FAD sub-TLVs for a g iven | |||
| Flex-Algorithm from a given IS and how to handle them if multiple are allowe d.</t> | Flex-Algorithm from a given IS and how to handle them if multiple are allowe d.</t> | |||
| <section anchor="ISISFLEXALGEXLTLV" numbered="true" toc="include" removeIn | ||||
| <section anchor="ISISFLEXALGEXLTLV" | RFC="false" pn="section-6.1"> | |||
| title="IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV"> | <name slugifiedName="name-is-is-flexible-algorithm-ex">IS-IS Flexible Al | |||
| <t>The Flexible Algorithm definition can specify 'colors' that are | gorithm Exclude Admin Group Sub-TLV</name> | |||
| <t indent="0" pn="section-6.1-1">The Flexible Algorithm Definition can s | ||||
| pecify "colors" that are | ||||
| used by the operator to exclude links during the Flex-Algorithm path | used by the operator to exclude links during the Flex-Algorithm path | |||
| computation.</t> | computation.</t> | |||
| <t indent="0" pn="section-6.1-2">The IS-IS Flexible Algorithm Exclude Ad | ||||
| <t>The IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV is used to | min Group (FAEAG) sub-TLV is used to | |||
| advertise the exclude rule that is used during the Flex-Algorithm path | advertise the exclude rule that is used during the Flex-Algorithm path | |||
| calculation as specified in <xref target="FLEXALGPATHCALC"/>.</t> | calculation, as specified in <xref target="FLEXALGPATHCALC" format="defa | |||
| ult" sectionFormat="of" derivedContent="Section 13"/>.</t> | ||||
| <t>The IS-IS Flexible Algorithm Exclude Admin Group Sub-TLV (FAEAG | <t indent="0" pn="section-6.1-3">The IS-IS FAEAG sub-TLV | |||
| Sub-TLV) is a Sub-TLV of the IS-IS FAD Sub-TLV. It has the following | is a sub-TLV of the IS-IS FAD sub-TLV. It has the following | |||
| format: <figure> | format: </t> | |||
| <artwork><![CDATA[ | <artwork name="" type="" align="left" alt="" pn="section-6.1-4"> | |||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extended Admin Group | | | Extended Admin Group | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-6.1-5"> | |||
| </figure> <list style="hanging"> | <dt pn="section-6.1-5.1">where:</dt> | |||
| <t>Type: 1</t> | <dd pn="section-6.1-5.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-6.1-5.2. | ||||
| <t>Length: variable, dependent on the size of the Extended Admin | 1"> | |||
| Group. MUST be a multiple of 4 octets.</t> | <dt pn="section-6.1-5.2.1.1">Type:</dt> | |||
| <dd pn="section-6.1-5.2.1.2">1</dd> | ||||
| <t>Extended Administrative Group: Extended Administrative Group as | <dt pn="section-6.1-5.2.1.3">Length:</dt> | |||
| defined in <xref target="RFC7308"/>.</t> | <dd pn="section-6.1-5.2.1.4">variable, dependent on the size of th | |||
| </list></t> | e Extended Admin | |||
| Group. <bcp14>MUST</bcp14> be a multiple of 4 octets.</dd> | ||||
| <t>The IS-IS FAEAG Sub-TLV MUST NOT appear more than once in a single IS | <dt pn="section-6.1-5.2.1.5">Extended Administrative Group:</dt> | |||
| -IS | <dd pn="section-6.1-5.2.1.6">Extended Administrative Group, as | |||
| FAD Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV MUST | defined in <xref target="RFC7308" format="default" sectionFormat=" | |||
| of" derivedContent="RFC7308"/>.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-6.1-6">The IS-IS FAEAG sub-TLV <bcp14>MUST NOT | ||||
| </bcp14> appear more than once in a single IS-IS | ||||
| FAD sub-TLV. If it appears more than once, the IS-IS FAD sub-TLV <bcp14> | ||||
| MUST</bcp14> | ||||
| be ignored by the receiver.</t> | be ignored by the receiver.</t> | |||
| <t indent="0" pn="section-6.1-7">The IS-IS FAEAG sub-TLV <bcp14>MUST NOT | ||||
| <t>The IS-IS FAEAG Sub-TLV MUST NOT appear more than once in the set of | </bcp14> appear more than once in the set of FAD | |||
| FAD | ||||
| sub-TLVs for a given Flex-Algorithm from a given IS. If it appears more than once | sub-TLVs for a given Flex-Algorithm from a given IS. If it appears more than once | |||
| in such a set, the IS-IS FAEAG Sub-TLV in the first occurrence in the lo | in such a set, the IS-IS FAEAG sub-TLV in the first occurrence in the lo | |||
| west numbered | west-numbered | |||
| LSP from a given IS MUST be used and any other occurrences MUST be ignor | LSP from a given IS <bcp14>MUST</bcp14> be used, and any other occurrenc | |||
| ed.</t> | es <bcp14>MUST</bcp14> be ignored.</t> | |||
| </section> | </section> | |||
| <section anchor="ISISFLEXALGINCANYTLV" numbered="true" toc="include" remov | ||||
| <section anchor="ISISFLEXALGINCANYTLV" | eInRFC="false" pn="section-6.2"> | |||
| title="IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV"> | <name slugifiedName="name-is-is-flexible-algorithm-in">IS-IS Flexible Al | |||
| <t>The Flexible Algorithm definition can specify 'colors' that are | gorithm Include-Any Admin Group Sub-TLV</name> | |||
| <t indent="0" pn="section-6.2-1">The Flexible Algorithm Definition can s | ||||
| pecify "colors" that are | ||||
| used by the operator to include links during the Flex-Algorithm path | used by the operator to include links during the Flex-Algorithm path | |||
| computation.</t> | computation.</t> | |||
| <t indent="0" pn="section-6.2-2">The IS-IS Flexible Algorithm Include-An | ||||
| <t>The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV is used | y Admin Group sub-TLV is used | |||
| to advertise the include-any rule that is used during the Flex-Algorithm | to advertise the include-any rule that is used during the Flex-Algorithm | |||
| path calculation as specified in <xref target="FLEXALGPATHCALC"/>.</t> | path calculation, as specified in <xref target="FLEXALGPATHCALC" format= | |||
| "default" sectionFormat="of" derivedContent="Section 13"/>.</t> | ||||
| <t>The IS-IS Flexible Algorithm Include-Any Admin Group | <t indent="0" pn="section-6.2-3">The IS-IS Flexible Algorithm Include-An | |||
| Sub-TLV is a Sub-TLV of the IS-IS FAD Sub-TLV. It has the following | y Admin Group | |||
| format: <figure> | sub-TLV is a sub-TLV of the IS-IS FAD sub-TLV. It has the following | |||
| <artwork><![CDATA[ | format: </t> | |||
| <artwork name="" type="" align="left" alt="" pn="section-6.2-4"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extended Admin Group | | | Extended Admin Group | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-6.2-5"> | |||
| </figure> <list style="hanging"> | <dt pn="section-6.2-5.1">where:</dt> | |||
| <t>Type: 2</t> | <dd pn="section-6.2-5.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-6.2-5.2. | ||||
| <t>Length: variable, dependent on the size of the Extended Admin | 1"> | |||
| Group. MUST be a multiple of 4 octets.</t> | <dt pn="section-6.2-5.2.1.1">Type: </dt> | |||
| <dd pn="section-6.2-5.2.1.2">2</dd> | ||||
| <t>Extended Administrative Group: Extended Administrative Group as | <dt pn="section-6.2-5.2.1.3">Length:</dt> | |||
| defined in <xref target="RFC7308"/>.</t> | <dd pn="section-6.2-5.2.1.4">variable, dependent on the size of th | |||
| </list></t> | e Extended Admin | |||
| Group. <bcp14>MUST</bcp14> be a multiple of 4 octets.</dd> | ||||
| <t>The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST | <dt pn="section-6.2-5.2.1.5">Extended Administrative Group:</dt> | |||
| NOT appear more than once in a single IS-IS FAD Sub-TLV. If it appears m | <dd pn="section-6.2-5.2.1.6">Extended Administrative Group, as | |||
| ore | defined in <xref target="RFC7308" format="default" sectionFormat=" | |||
| than once, the IS-IS FAD Sub-TLV MUST be ignored by the receiver.</t> | of" derivedContent="RFC7308"/>.</dd> | |||
| </dl> | ||||
| <t>The IS-IS Flexible Algorithm Include-Any Admin Group Sub-TLV MUST NOT | </dd> | |||
| appear | </dl> | |||
| <t indent="0" pn="section-6.2-6">The IS-IS Flexible Algorithm Include-An | ||||
| y Admin Group sub-TLV <bcp14>MUST NOT</bcp14> appear more than once in a single | ||||
| IS-IS FAD sub-TLV. If it appears more | ||||
| than once, the IS-IS FAD sub-TLV <bcp14>MUST</bcp14> be ignored by the r | ||||
| eceiver.</t> | ||||
| <t indent="0" pn="section-6.2-7">The IS-IS Flexible Algorithm Include-An | ||||
| y Admin Group sub-TLV <bcp14>MUST NOT</bcp14> appear | ||||
| more than once in the set of FAD sub-TLVs for a given Flex-Algorithm fro m a given IS. | more than once in the set of FAD sub-TLVs for a given Flex-Algorithm fro m a given IS. | |||
| If it appears more than once in such a set, the IS-IS Flexible Algorithm | If it appears more than once in such a set, the IS-IS Flexible Algorithm | |||
| Include-Any Admin Group Sub-TLV in the first occurrence in the lowest nu | Include-Any Admin Group sub-TLV in the first occurrence in the lowest-nu | |||
| mbered | mbered | |||
| LSP from a given IS MUST be used and any other occurrences MUST be ignor | LSP from a given IS <bcp14>MUST</bcp14> be used, and any other occurrenc | |||
| ed.</t> | es <bcp14>MUST</bcp14> be ignored.</t> | |||
| </section> | </section> | |||
| <section anchor="ISISFLEXALGINCALLTLV" numbered="true" toc="include" remov | ||||
| <section anchor="ISISFLEXALGINCALLTLV" | eInRFC="false" pn="section-6.3"> | |||
| title="IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV"> | <name slugifiedName="name-is-is-flexible-algorithm-inc">IS-IS Flexible A | |||
| <t>The Flexible Algorithm definition can specify 'colors' that are | lgorithm Include-All Admin Group Sub-TLV</name> | |||
| <t indent="0" pn="section-6.3-1">The Flexible Algorithm Definition can s | ||||
| pecify "colors" that are | ||||
| used by the operator to include links during the Flex-Algorithm path | used by the operator to include links during the Flex-Algorithm path | |||
| computation.</t> | computation.</t> | |||
| <t indent="0" pn="section-6.3-2">The IS-IS Flexible Algorithm Include-Al | ||||
| <t>The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV is used | l Admin Group sub-TLV is used | |||
| to advertise the include-all rule that is used during the Flex-Algorithm | to advertise the include-all rule that is used during the Flex-Algorithm | |||
| path calculation as specified in <xref target="FLEXALGPATHCALC"/>.</t> | path calculation, as specified in <xref target="FLEXALGPATHCALC" format= | |||
| "default" sectionFormat="of" derivedContent="Section 13"/>.</t> | ||||
| <t>The IS-IS Flexible Algorithm Include-All Admin Group | <t indent="0" pn="section-6.3-3">The IS-IS Flexible Algorithm Include-Al | |||
| Sub-TLV is is a Sub-TLV of the IS-IS FAD Sub-TLV. It has the following | l Admin Group | |||
| format: <figure> | sub-TLV is a sub-TLV of the IS-IS FAD sub-TLV. It has the following | |||
| <artwork><![CDATA[ | format: </t> | |||
| <artwork name="" type="" align="left" alt="" pn="section-6.3-4"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extended Admin Group | | | Extended Admin Group | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-6.3-5"> | |||
| </figure> <list style="hanging"> | <dt pn="section-6.3-5.1">where:</dt> | |||
| <t>Type: 3</t> | <dd pn="section-6.3-5.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-6.3-5.2. | ||||
| <t>Length: variable, dependent on the size of the Extended Admin | 1"> | |||
| Group. MUST be a multiple of 4 octets.</t> | <dt pn="section-6.3-5.2.1.1">Type:</dt> | |||
| <dd pn="section-6.3-5.2.1.2">3</dd> | ||||
| <t>Extended Administrative Group: Extended Administrative Group as | <dt pn="section-6.3-5.2.1.3">Length:</dt> | |||
| defined in <xref target="RFC7308"/>.</t> | <dd pn="section-6.3-5.2.1.4">variable, dependent on the size of th | |||
| </list></t> | e Extended Admin | |||
| Group. <bcp14>MUST</bcp14> be a multiple of 4 octets.</dd> | ||||
| <t>The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV MUST | <dt pn="section-6.3-5.2.1.5">Extended Administrative Group:</dt> | |||
| NOT appear more than once in a single IS-IS FAD Sub-TLV. If it appears m | <dd pn="section-6.3-5.2.1.6">Extended Administrative Group, as | |||
| ore | defined in <xref target="RFC7308" format="default" sectionFormat=" | |||
| than once, the IS-IS FAD Sub-TLV MUST be ignored by the receiver.</t> | of" derivedContent="RFC7308"/>.</dd> | |||
| </dl> | ||||
| <t>The IS-IS Flexible Algorithm Include-All Admin Group Sub-TLV MUST NOT | </dd> | |||
| appear | </dl> | |||
| <t indent="0" pn="section-6.3-6">The IS-IS Flexible Algorithm Include-Al | ||||
| l Admin Group sub-TLV <bcp14>MUST NOT</bcp14> appear more than once in a single | ||||
| IS-IS FAD sub-TLV. If it appears more | ||||
| than once, the IS-IS FAD sub-TLV <bcp14>MUST</bcp14> be ignored by the r | ||||
| eceiver.</t> | ||||
| <t indent="0" pn="section-6.3-7">The IS-IS Flexible Algorithm Include-Al | ||||
| l Admin Group sub-TLV <bcp14>MUST NOT</bcp14> appear | ||||
| more than once in the set of FAD sub-TLVs for a given Flex-Algorithm fro m a given IS. | more than once in the set of FAD sub-TLVs for a given Flex-Algorithm fro m a given IS. | |||
| If it appears more than once in such a set, the IS-IS Flexible Algorithm Include-All Admin Group | If it appears more than once in such a set, the IS-IS Flexible Algorithm Include-All Admin Group | |||
| Sub-TLV in the first occurrence in the lowest numbered LSP from a given | sub-TLV in the first occurrence in the lowest-numbered LSP from a given | |||
| IS MUST | IS <bcp14>MUST</bcp14> | |||
| be used and any other occurrences MUST be ignored.</t> | be used, and any other occurrences <bcp14>MUST</bcp14> be ignored.</t> | |||
| </section> | </section> | |||
| <section anchor="ISISFLEXALGFLAG" numbered="true" toc="include" removeInRF | ||||
| <section anchor="ISISFLEXALGFLAG" | C="false" pn="section-6.4"> | |||
| title="IS-IS Flexible Algorithm Definition Flags Sub-TLV"> | <name slugifiedName="name-is-is-flexible-algorithm-def">IS-IS Flexible A | |||
| <t>The IS-IS Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) | lgorithm Definition Flags Sub-TLV</name> | |||
| is a Sub-TLV of the IS-IS FAD Sub-TLV. It has the following format: | <t indent="0" pn="section-6.4-1">The IS-IS Flexible Algorithm Definition | |||
| <figure> | Flags (FADF) sub-TLV | |||
| <artwork><![CDATA[ | is a sub-TLV of the IS-IS FAD sub-TLV. It has the following format: | |||
| </t> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-6.4-2"> | ||||
| 0 1 2 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 | | | Flags | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-6.4-3"> | |||
| </figure> <list style="hanging"> | <dt pn="section-6.4-3.1">where:</dt> | |||
| <t>Type: 4</t> | <dd pn="section-6.4-3.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-6.4-3.2. | ||||
| <t>Length: variable, number of octets of the Flags field</t> | 1"> | |||
| <dt pn="section-6.4-3.2.1.1">Type:</dt> | ||||
| <t>Flags: <figure> | <dd pn="section-6.4-3.2.1.2">4</dd> | |||
| <artwork><![CDATA[ | <dt pn="section-6.4-3.2.1.3">Length:</dt> | |||
| <dd pn="section-6.4-3.2.1.4">variable, number of octets of the Fla | ||||
| gs field.</dd> | ||||
| <dt pn="section-6.4-3.2.1.5">Flags:</dt> | ||||
| <dd pn="section-6.4-3.2.1.6"> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-6.4-3.2 | ||||
| .1.6.1"> | ||||
| 0 1 2 3 4 5 6 7... | 0 1 2 3 4 5 6 7... | |||
| +-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
| |M| | | ... | |M| | | ... | |||
| +-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
| ]]></artwork> | </artwork> | |||
| </figure> <list style="hanging"> | <dl newline="false" spacing="normal" indent="3" pn="section-6.4- | |||
| <t>M-flag: when set, the Flex-Algorithm specific prefix metric | 3.2.1.6.2"> | |||
| MUST be used for inter-area and external prefix calculation. | <dt pn="section-6.4-3.2.1.6.2.1">M-flag:</dt> | |||
| This flag is not applicable to prefixes advertised as SRv6 | <dd pn="section-6.4-3.2.1.6.2.2">when set, the Flex-Algorithm- | |||
| locators.</t> | specific prefix metric | |||
| </list></t> | <bcp14>MUST</bcp14> be used for inter-area and external prefix cal | |||
| </list></t> | culation. | |||
| This flag is not applicable to prefixes advertised as SRv6 | ||||
| <t>A new IANA "IGP Flexible Algorithm Definition Flags Registry" is | locators.</dd> | |||
| defined for allocation of bits in the Flags field - | </dl> | |||
| see <xref target="IANAFADFLGAS"/>.</t> | </dd> | |||
| </dl> | ||||
| <t>Bits are defined/sent starting with Bit 0 defined above. Additional | </dd> | |||
| bit definitions that may be defined in the future SHOULD be assigned | </dl> | |||
| in ascending bit order so as to minimize the number of bits that will | <t indent="0" pn="section-6.4-4">A new IANA "IGP Flexible Algorithm Defi | |||
| nition Flags" registry is | ||||
| defined for allocation of bits in the Flags field -- | ||||
| see <xref target="IANAFADFLGAS" format="default" sectionFormat="of" deri | ||||
| vedContent="Section 18.2"/>.</t> | ||||
| <t indent="0" pn="section-6.4-5">Bits are defined/sent starting with bit | ||||
| 0 defined above. Additional | ||||
| bit definitions that may be defined in the future <bcp14>SHOULD</bcp14> | ||||
| be assigned | ||||
| in ascending bit order to minimize the number of bits that will | ||||
| need to be transmitted.</t> | need to be transmitted.</t> | |||
| <t indent="0" pn="section-6.4-6">Undefined bits <bcp14>MUST</bcp14> be t | ||||
| <t>Undefined bits MUST be transmitted as 0.</t> | ransmitted as 0.</t> | |||
| <t indent="0" pn="section-6.4-7">Bits that are not transmitted <bcp14>MU | ||||
| <t>Bits that are not transmitted MUST be treated as if they are set to | ST</bcp14> be treated as if they are set to | |||
| 0 on receipt.</t> | 0 on receipt.</t> | |||
| <t indent="0" pn="section-6.4-8">The IS-IS FADF sub-TLV <bcp14>MUST NOT< | ||||
| <t>The IS-IS FADF Sub-TLV MUST NOT appear more than once in a single IS- | /bcp14> appear more than once in a single IS-IS FAD | |||
| IS FAD | sub-TLV. If it appears more than once, the IS-IS FAD sub-TLV <bcp14>MUST | |||
| Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV MUST be | </bcp14> be | |||
| ignored by the receiver.</t> | ignored by the receiver.</t> | |||
| <t indent="0" pn="section-6.4-9">The IS-IS FADF sub-TLV <bcp14>MUST NOT< | ||||
| <t>The IS-IS FADF Sub-TLV MUST NOT appear more than once in the set of F | /bcp14> appear more than once in the set of FAD | |||
| AD | ||||
| sub-TLVs for a given Flex-Algorithm from a given IS. If it appears more than once | sub-TLVs for a given Flex-Algorithm from a given IS. If it appears more than once | |||
| in such a set, the IS-IS FADF Sub-TLV in the first occurrence in the low | in such a set, the IS-IS FADF sub-TLV in the first occurrence in the low | |||
| est | est-numbered LSP from a given IS <bcp14>MUST</bcp14> be used, and any other occu | |||
| numbered LSP from a given IS MUST be used and any other occurrences MUST | rrences <bcp14>MUST</bcp14> be ignored.</t> | |||
| be ignored.</t> | <t indent="0" pn="section-6.4-10">If the IS-IS FADF sub-TLV is not prese | |||
| nt inside the IS-IS FAD | ||||
| <t>If the IS-IS FADF Sub-TLV is not present inside the IS-IS FAD | sub-TLV, all the bits are assumed to be set to 0.</t> | |||
| Sub-TLV, all the bits are assumed to be set to 0.</t> | <t indent="0" pn="section-6.4-11">If a node is configured to participate | |||
| in a particular Flexible Algorithm, | ||||
| <t>If a node is configured to participate in a particular Flexible Algor | but the selected Flex-Algorithm Definition includes a bit in the IS-IS F | |||
| ithm, | ADF sub-TLV | |||
| but the selected Flex-Algorithm definition includes a bit in the IS-IS F | that is not supported by the node, it <bcp14>MUST</bcp14> stop participa | |||
| ADF Sub-TLV | ting in such | |||
| that is not supported by the node, it MUST stop participating in such | ||||
| Flexible Algorithm.</t> | Flexible Algorithm.</t> | |||
| <t indent="0" pn="section-6.4-12">New flag bits may be defined in the fu | ||||
| <t>New flag bits may be defined in the future. Implementations MUST chec | ture. Implementations <bcp14>MUST</bcp14> check all | |||
| k all | advertised flag bits in the received IS-IS FADF sub-TLV -- not just the | |||
| advertised flag bits in the received IS-IS FADF Sub-TLV - not just the s | subset | |||
| ubset | ||||
| currently defined.</t> | currently defined.</t> | |||
| <t indent="0" pn="section-6.4-13">The M-flag <bcp14>MUST</bcp14> not be | ||||
| <t>M-flag MUST not be used when calculating prefix reachability for SRv6 | used when calculating prefix reachability for the SRv6 | |||
| Locator prefix.</t> | Locator prefix.</t> | |||
| </section> | </section> | |||
| <section anchor="ISISFLEXALGEXSRLGTLV" numbered="true" toc="include" remov | ||||
| <section anchor="ISISFLEXALGEXSRLGTLV" | eInRFC="false" pn="section-6.5"> | |||
| title="IS-IS Flexible Algorithm Exclude SRLG Sub-TLV"> | <name slugifiedName="name-is-is-flexible-algorithm-exc">IS-IS Flexible A | |||
| <t>The Flexible Algorithm definition can specify Shared Risk Link | lgorithm Exclude SRLG Sub-TLV</name> | |||
| <t indent="0" pn="section-6.5-1">The Flexible Algorithm Definition can s | ||||
| pecify Shared Risk Link | ||||
| Groups (SRLGs) that the operator wants to exclude during the | Groups (SRLGs) that the operator wants to exclude during the | |||
| Flex-Algorithm path computation.</t> | Flex-Algorithm path computation.</t> | |||
| <t indent="0" pn="section-6.5-2">The IS-IS Flexible Algorithm Exclude SR | ||||
| <t>The IS-IS Flexible Algorithm Exclude SRLG Sub-TLV (FAESRLG) is used | LG (FAESRLG) sub-TLV is used | |||
| to advertise the exclude rule that is used during the Flex-Algorithm | to advertise the exclude rule that is used during the Flex-Algorithm | |||
| path calculation as specified in <xref target="FLEXALGPATHCALC"/>.</t> | path calculation, as specified in <xref target="FLEXALGPATHCALC" format= | |||
| "default" sectionFormat="of" derivedContent="Section 13"/>.</t> | ||||
| <t>The IS-IS FAESRLG Sub-TLV is a Sub-TLV of the IS-IS FAD Sub-TLV. It | <t indent="0" pn="section-6.5-3">The IS-IS FAESRLG sub-TLV is a sub-TLV | |||
| has the following format: <figure> | of the IS-IS FAD sub-TLV. It | |||
| <artwork><![CDATA[ | has the following format: </t> | |||
| <artwork name="" type="" align="left" alt="" pn="section-6.5-4"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Shared Risk Link Group Value | | | Shared Risk Link Group Value | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-6.5-5"> | |||
| </figure> <list style="hanging"> | <dt pn="section-6.5-5.1">where:</dt> | |||
| <t>Type: 5</t> | <dd pn="section-6.5-5.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-6.5-5.2. | ||||
| <t>Length: variable, dependent on number of SRLG values. MUST be a | 1"> | |||
| multiple of 4 octets.</t> | <dt pn="section-6.5-5.2.1.1">Type:</dt> | |||
| <dd pn="section-6.5-5.2.1.2">5</dd> | ||||
| <t>Shared Risk Link Group Value: SRLG value as defined in <xref | <dt pn="section-6.5-5.2.1.3">Length:</dt> | |||
| target="RFC5307"/>.</t> | <dd pn="section-6.5-5.2.1.4">variable, dependent on number of SRLG | |||
| </list></t> | values. <bcp14>MUST</bcp14> be a | |||
| multiple of 4 octets.</dd> | ||||
| <t>The IS-IS FAESRLG Sub-TLV MUST NOT appear more than once in a single | <dt pn="section-6.5-5.2.1.5">Shared Risk Link Group Value:</dt> | |||
| IS-IS FAD | <dd pn="section-6.5-5.2.1.6">SRLG value, as defined in <xref targe | |||
| Sub-TLV. If it appears more than once, the IS-IS FAD Sub-TLV MUST be | t="RFC5307" format="default" sectionFormat="of" derivedContent="RFC5307"/>.</dd> | |||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-6.5-6">The IS-IS FAESRLG sub-TLV <bcp14>MUST N | ||||
| OT</bcp14> appear more than once in a single IS-IS FAD | ||||
| sub-TLV. If it appears more than once, the IS-IS FAD sub-TLV <bcp14>MUST | ||||
| </bcp14> be | ||||
| ignored by the receiver.</t> | ignored by the receiver.</t> | |||
| <t indent="0" pn="section-6.5-7">The IS-IS FAESRLG sub-TLV <bcp14>MAY</b | ||||
| <t>The IS-IS FAESRLG Sub-TLV MAY appear more than once in the set of FAD | cp14> appear more than once in the set of FAD | |||
| sub-TLVs for a given Flex-Algorithm from a given IS. This may be necessa ry in cases | sub-TLVs for a given Flex-Algorithm from a given IS. This may be necessa ry in cases | |||
| where the total number of SRLG values which are specified cause the FAD | where the total number of SRLG values that are specified cause the FAD s | |||
| sub-TLV to | ub-TLV to | |||
| exceed the maximum length of a single FAD sub-TLV. In such a case the re | exceed the maximum length of a single FAD sub-TLV. In such a case, the r | |||
| ceiver MUST | eceiver <bcp14>MUST</bcp14> | |||
| use the union of all values across all IS-IS FAESRLG Sub-TLVs from such | use the union of all values across all IS-IS FAESRLG sub-TLVs from such | |||
| set.</t> | set.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="OSPFFADLTLVS" numbered="true" toc="include" removeInRFC="fa | ||||
| <section anchor="OSPFFADLTLVS" title="Sub-TLVs of OSPF FAD TLV"> | lse" pn="section-7"> | |||
| <section anchor="OSPFFLEXALGEXLTLV" | <name slugifiedName="name-sub-tlvs-of-the-ospf-fad-tl">Sub-TLVs of the OSP | |||
| title="OSPF Flexible Algorithm Exclude Admin Group Sub-TLV"> | F FAD TLV</name> | |||
| <t>The Flexible Algorithm Exclude Admin Group Sub-TLV (FAEAG Sub-TLV) | <section anchor="OSPFFLEXALGEXLTLV" numbered="true" toc="include" removeIn | |||
| is a Sub-TLV of the OSPF FAD TLV. Its usage is described in <xref | RFC="false" pn="section-7.1"> | |||
| target="ISISFLEXALGEXLTLV"/>. It has the following format: <figure> | <name slugifiedName="name-ospf-flexible-algorithm-exc">OSPF Flexible Alg | |||
| <artwork><![CDATA[ | orithm Exclude Admin Group Sub-TLV</name> | |||
| <t indent="0" pn="section-7.1-1">The OSPF Flexible Algorithm Exclude Adm | ||||
| in Group (FAEAG) sub-TLV | ||||
| is a sub-TLV of the OSPF FAD TLV. Its usage is described in <xref target | ||||
| ="ISISFLEXALGEXLTLV" format="default" sectionFormat="of" derivedContent="Section | ||||
| 6.1"/>. It has the following format: </t> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-7.1-2"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extended Admin Group | | | Extended Admin Group | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-7.1-3"> | |||
| </figure> <list style="hanging"> | <dt pn="section-7.1-3.1">where:</dt> | |||
| <t>Type: 1</t> | <dd pn="section-7.1-3.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-7.1-3.2. | ||||
| <t>Length: variable, dependent on the size of the Extended Admin | 1"> | |||
| Group. MUST be a multiple of 4 octets.</t> | <dt pn="section-7.1-3.2.1.1">Type:</dt> | |||
| <dd pn="section-7.1-3.2.1.2">1</dd> | ||||
| <t>Extended Administrative Group: Extended Administrative Group as | <dt pn="section-7.1-3.2.1.3">Length:</dt> | |||
| defined in <xref target="RFC7308"/>.</t> | <dd pn="section-7.1-3.2.1.4">variable, dependent on the size of th | |||
| </list></t> | e Extended Admin | |||
| Group. <bcp14>MUST</bcp14> be a multiple of 4 octets.</dd> | ||||
| <t>The OSPF FAEAG Sub-TLV MUST NOT appear more than once in an OSPF | <dt pn="section-7.1-3.2.1.5">Extended Administrative Group:</dt> | |||
| FAD TLV. If it appears more than once, the OSPF FAD TLV MUST be | <dd pn="section-7.1-3.2.1.6">Extended Administrative Group, as | |||
| defined in <xref target="RFC7308" format="default" sectionFormat= | ||||
| "of" derivedContent="RFC7308"/>.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-7.1-4">The OSPF FAEAG sub-TLV <bcp14>MUST NOT< | ||||
| /bcp14> appear more than once in an OSPF | ||||
| FAD TLV. If it appears more than once, the OSPF FAD TLV <bcp14>MUST</bcp | ||||
| 14> be | ||||
| ignored by the receiver.</t> | ignored by the receiver.</t> | |||
| </section> | </section> | |||
| <section anchor="OSPFFLEXALGINCANYTLV" numbered="true" toc="include" remov | ||||
| <section anchor="OSPFFLEXALGINCANYTLV" | eInRFC="false" pn="section-7.2"> | |||
| title="OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV"> | <name slugifiedName="name-ospf-flexible-algorithm-inc">OSPF Flexible Alg | |||
| orithm Include-Any Admin Group Sub-TLV</name> | ||||
| <t>The OSPF Flexible Algorithm Include-Any Admin Group | <t indent="0" pn="section-7.2-1">The OSPF Flexible Algorithm Include-Any | |||
| Sub-TLV is a Sub-TLV of the OSPF FAD TLV. The usage of this Sub-TLVs is | Admin Group | |||
| described in <xref | sub-TLV is a sub-TLV of the OSPF FAD TLV. The usage of this sub-TLV is d | |||
| target="ISISFLEXALGINCANYTLV"/>. It has the following format: <figure> | escribed in <xref target="ISISFLEXALGINCANYTLV" format="default" sectionFormat=" | |||
| <artwork><![CDATA[ | of" derivedContent="Section 6.2"/>. It has the following format: </t> | |||
| <artwork name="" type="" align="left" alt="" pn="section-7.2-2"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extended Admin Group | | | Extended Admin Group | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-7.2-3"> | |||
| </figure> <list style="hanging"> | <dt pn="section-7.2-3.1">where:</dt> | |||
| <t>Type: 2</t> | <dd pn="section-7.2-3.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-7.2-3.2. | ||||
| <t>Length: variable, dependent on the size of the Extended Admin | 1"> | |||
| Group. MUST be a multiple of 4 octets.</t> | <dt pn="section-7.2-3.2.1.1">Type: </dt> | |||
| <dd pn="section-7.2-3.2.1.2">2</dd> | ||||
| <t>Extended Administrative Group: Extended Administrative Group as | <dt pn="section-7.2-3.2.1.3">Length:</dt> | |||
| defined in <xref target="RFC7308"/>.</t> | <dd pn="section-7.2-3.2.1.4">variable, dependent on the size of th | |||
| </list></t> | e Extended Admin | |||
| Group. <bcp14>MUST</bcp14> be a multiple of 4 octets.</dd> | ||||
| <t>The OSPF Flexible Algorithm Include-Any Admin Group Sub-TLV MUST | <dt pn="section-7.2-3.2.1.5">Extended Administrative Group:</dt> | |||
| NOT appear more than once in an OSPF FAD TLV. If it appears more than | <dd pn="section-7.2-3.2.1.6">Extended Administrative Group, as | |||
| once, the OSPF FAD TLV MUST be ignored by the receiver.</t> | defined in <xref target="RFC7308" format="default" sectionFormat=" | |||
| of" derivedContent="RFC7308"/>.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-7.2-4">The OSPF Flexible Algorithm Include-Any | ||||
| Admin Group sub-TLV <bcp14>MUST NOT</bcp14> appear more than once in an OSPF FA | ||||
| D TLV. If it appears more than | ||||
| once, the OSPF FAD TLV <bcp14>MUST</bcp14> be ignored by the receiver.</ | ||||
| t> | ||||
| </section> | </section> | |||
| <section anchor="OSPFFLEXALGINCALLTLV" numbered="true" toc="include" remov | ||||
| <section anchor="OSPFFLEXALGINCALLTLV" | eInRFC="false" pn="section-7.3"> | |||
| title="OSPF Flexible Algorithm Include-All Admin Group Sub-TLV"> | <name slugifiedName="name-ospf-flexible-algorithm-incl">OSPF Flexible Al | |||
| gorithm Include-All Admin Group Sub-TLV</name> | ||||
| <t>The OSPF Flexible Algorithm Include-All Admin Group | <t indent="0" pn="section-7.3-1">The OSPF Flexible Algorithm Include-All | |||
| Sub-TLV is a Sub-TLV of the OSPF FAD TLV. The usage of this Sub-TLVs is | Admin Group | |||
| described in <xref target="ISISFLEXALGINCALLTLV"/>. It has the following | sub-TLV is a sub-TLV of the OSPF FAD TLV. The usage of this sub-TLV is | |||
| format: <figure> | described in <xref target="ISISFLEXALGINCALLTLV" format="default" sectio | |||
| <artwork><![CDATA[ | nFormat="of" derivedContent="Section 6.3"/>. It has the following format: </t> | |||
| <artwork name="" type="" align="left" alt="" pn="section-7.3-2"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Extended Admin Group | | | Extended Admin Group | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-7.3-3"> | |||
| </figure> <list style="hanging"> | <dt pn="section-7.3-3.1">where:</dt> | |||
| <t>Type: 3</t> | <dd pn="section-7.3-3.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-7.3-3.2. | ||||
| <t>Length: variable, dependent on the size of the Extended Admin | 1"> | |||
| Group. MUST be a multiple of 4 octets.</t> | <dt pn="section-7.3-3.2.1.1">Type:</dt> | |||
| <dd pn="section-7.3-3.2.1.2">3</dd> | ||||
| <t>Extended Administrative Group: Extended Administrative Group as | <dt pn="section-7.3-3.2.1.3">Length: </dt> | |||
| defined in <xref target="RFC7308"/>.</t> | <dd pn="section-7.3-3.2.1.4">variable, dependent on the size of th | |||
| </list></t> | e Extended Admin | |||
| Group. <bcp14>MUST</bcp14> be a multiple of 4 octets.</dd> | ||||
| <t>The OSPF Flexible Algorithm Include-All Admin Group Sub-TLV MUST | <dt pn="section-7.3-3.2.1.5">Extended Administrative Group:</dt> | |||
| NOT appear more than once in an OSPF FAD TLV. If it appears more than | <dd pn="section-7.3-3.2.1.6">Extended Administrative Group, as | |||
| once, the OSPF FAD TLV MUST be ignored by the receiver.</t> | defined in <xref target="RFC7308" format="default" sectionFormat=" | |||
| of" derivedContent="RFC7308"/>.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-7.3-4">The OSPF Flexible Algorithm Include-All | ||||
| Admin Group sub-TLV <bcp14>MUST NOT</bcp14> appear more than once in an OSPF FA | ||||
| D TLV. If it appears more than | ||||
| once, the OSPF FAD TLV <bcp14>MUST</bcp14> be ignored by the receiver.</ | ||||
| t> | ||||
| </section> | </section> | |||
| <section anchor="OSPFFLEXALGFLAG" numbered="true" toc="include" removeInRF | ||||
| <section anchor="OSPFFLEXALGFLAG" | C="false" pn="section-7.4"> | |||
| title="OSPF Flexible Algorithm Definition Flags Sub-TLV"> | <name slugifiedName="name-ospf-flexible-algorithm-defi">OSPF Flexible Al | |||
| <t>The OSPF Flexible Algorithm Definition Flags Sub-TLV (FADF Sub-TLV) | gorithm Definition Flags Sub-TLV</name> | |||
| is a Sub-TLV of the OSPF FAD TLV. It has the following format: <figure> | <t indent="0" pn="section-7.4-1">The OSPF Flexible Algorithm Definition | |||
| <artwork><![CDATA[ | Flags (FADF) sub-TLV | |||
| is a sub-TLV of the OSPF FAD TLV. It has the following format: </t> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-7.4-2"> | ||||
| 0 1 2 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 | | | Flags | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-7.4-3"> | |||
| </figure> <list style="hanging"> | <dt pn="section-7.4-3.1">where:</dt> | |||
| <t>Type: 4</t> | <dd pn="section-7.4-3.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-7.4-3.2. | ||||
| <t>Length: variable, dependent on the size of the Flags field. | 1"> | |||
| MUST be a multiple of 4 octets.</t> | <dt pn="section-7.4-3.2.1.1">Type:</dt> | |||
| <dd pn="section-7.4-3.2.1.2">4</dd> | ||||
| <t>Flags: <figure> | <dt pn="section-7.4-3.2.1.3">Length:</dt> | |||
| <artwork><![CDATA[ | <dd pn="section-7.4-3.2.1.4">variable, dependent on the size of th | |||
| e Flags field. | ||||
| <bcp14>MUST</bcp14> be a multiple of 4 octets.</dd> | ||||
| <dt pn="section-7.4-3.2.1.5">Flags:</dt> | ||||
| <dd pn="section-7.4-3.2.1.6"> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-7.4-3.2 | ||||
| .1.6.1"> | ||||
| 0 1 2 3 4 5 6 7... | 0 1 2 3 4 5 6 7... | |||
| +-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
| |M| | | ... | |M| | | ... | |||
| +-+-+-+-+-+-+-+-+... | +-+-+-+-+-+-+-+-+... | |||
| ]]></artwork> | </artwork> | |||
| </figure> <list style="hanging"> | <dl newline="false" spacing="normal" indent="3" pn="section-7.4- | |||
| <t>M-flag: when set, the Flex-Algorithm specific prefix and | 3.2.1.6.2"> | |||
| ASBR metric MUST be used for inter-area and external prefix | <dt pn="section-7.4-3.2.1.6.2.1">M-flag:</dt> | |||
| calculation. This flag is not applicable to prefixes | <dd pn="section-7.4-3.2.1.6.2.2">when set, the Flex-Algorithm- | |||
| advertised as SRv6 locators.</t> | specific prefix and | |||
| </list></t> | ASBR metric <bcp14>MUST</bcp14> be used for inter-area and externa | |||
| </list></t> | l | |||
| prefix calculation. This flag is not applicable to prefixes | ||||
| <t>A new IANA "IGP Flexible Algorithm Definition Flags Registry" is | advertised as SRv6 locators.</dd> | |||
| defined for allocation of bits in the Flags field - | </dl> | |||
| see <xref target="IANAFADFLGAS"/>.</t> | </dd> | |||
| </dl> | ||||
| <t>Bits are defined/sent starting with Bit 0 defined above. Additional | </dd> | |||
| bit definitions that may be defined in the future SHOULD be assigned | </dl> | |||
| in ascending bit order so as to minimize the number of bits that will | <t indent="0" pn="section-7.4-4">A new IANA "IGP Flexible Algorithm Defi | |||
| nition Flags" registry is | ||||
| defined for allocation of bits in the Flags field -- | ||||
| see <xref target="IANAFADFLGAS" format="default" sectionFormat="of" deri | ||||
| vedContent="Section 18.2"/>.</t> | ||||
| <t indent="0" pn="section-7.4-5">Bits are defined/sent starting with bit | ||||
| 0 defined above. Additional | ||||
| bit definitions that may be defined in the future <bcp14>SHOULD</bcp14> | ||||
| be assigned | ||||
| in ascending bit order to minimize the number of bits that will | ||||
| need to be transmitted.</t> | need to be transmitted.</t> | |||
| <t indent="0" pn="section-7.4-6">Undefined bits <bcp14>MUST</bcp14> be t | ||||
| <t>Undefined bits MUST be transmitted as 0.</t> | ransmitted as 0.</t> | |||
| <t indent="0" pn="section-7.4-7">Bits that are not transmitted <bcp14>MU | ||||
| <t>Bits that are not transmitted MUST be treated as if they are set to | ST</bcp14> be treated as if they are set to | |||
| 0 on receipt.</t> | 0 on receipt.</t> | |||
| <t indent="0" pn="section-7.4-8">The OSPF FADF sub-TLV <bcp14>MUST NOT</ | ||||
| <t>The OSPF FADF Sub-TLV MUST NOT appear more than once in an OSPF FAD | bcp14> appear more than once in an OSPF FAD | |||
| TLV. If it appears more than once, the OSPF FAD TLV MUST be ignored by | TLV. If it appears more than once, the OSPF FAD TLV <bcp14>MUST</bcp14> | |||
| be ignored by | ||||
| the receiver.</t> | the receiver.</t> | |||
| <t indent="0" pn="section-7.4-9">If the OSPF FADF sub-TLV is not present | ||||
| <t>If the OSPF FADF Sub-TLV is not present inside the OSPF FAD TLV, | inside the OSPF FAD TLV, | |||
| all the bits are assumed to be set to 0.</t> | all the bits are assumed to be set to 0.</t> | |||
| <t indent="0" pn="section-7.4-10">If a node is configured to participate | ||||
| <t>If a node is configured to participate in a particular Flexible Algor | in a particular Flexible Algorithm, | |||
| ithm, | but the selected Flex-Algorithm Definition includes a bit in the OSPF FA | |||
| but the selected Flex-Algorithm definition includes a bit in the OSPF FA | DF sub-TLV | |||
| DF Sub-TLV | that is not supported by the node, it <bcp14>MUST</bcp14> stop participa | |||
| that is not supported by the node, it MUST stop participating in such | ting in such | |||
| Flexible Algorithm.</t> | Flexible Algorithm.</t> | |||
| <t indent="0" pn="section-7.4-11">New flag bits may be defined in the fu | ||||
| <t>New flag bits may be defined in the future. Implementations MUST chec | ture. Implementations <bcp14>MUST</bcp14> check all | |||
| k all | advertised flag bits in the received OSPF FADF sub-TLV -- not just the s | |||
| advertised flag bits in the received OSPF FADF Sub-TLV - not just the su | ubset | |||
| bset | ||||
| currently defined.</t> | currently defined.</t> | |||
| <t indent="0" pn="section-7.4-12">The M-flag <bcp14>MUST</bcp14> not be | ||||
| <t>M-flag MUST not be used when calculating prefix reachability for SRv6 | used when calculating prefix reachability for the SRv6 | |||
| Locator prefix.</t> | Locator prefix.</t> | |||
| </section> | </section> | |||
| <section anchor="OSPFFLEXALGEXSRLGTLV" numbered="true" toc="include" remov | ||||
| <section anchor="OSPFFLEXALGEXSRLGTLV" | eInRFC="false" pn="section-7.5"> | |||
| title="OSPF Flexible Algorithm Exclude SRLG Sub-TLV"> | <name slugifiedName="name-ospf-flexible-algorithm-excl">OSPF Flexible Al | |||
| <t>The OSPF Flexible Algorithm Exclude SRLG Sub-TLV (FAESRLG Sub-TLV) | gorithm Exclude SRLG Sub-TLV</name> | |||
| is a Sub-TLV of the OSPF FAD TLV. Its usage is described in <xref | <t indent="0" pn="section-7.5-1">The OSPF Flexible Algorithm Exclude SRL | |||
| target="ISISFLEXALGEXSRLGTLV"/>. It has the following format: <figure> | G (FAESRLG) sub-TLV | |||
| <artwork><![CDATA[ | is a sub-TLV of the OSPF FAD TLV. Its usage is described in <xref target | |||
| ="ISISFLEXALGEXSRLGTLV" format="default" sectionFormat="of" derivedContent="Sect | ||||
| ion 6.5"/>. It has the following format: </t> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-7.5-2"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Shared Risk Link Group Value | | | Shared Risk Link Group Value | | |||
| +- -+ | +- -+ | |||
| | ... | | | ... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-7.5-3"> | |||
| </figure> <list style="hanging"> | <dt pn="section-7.5-3.1">where:</dt> | |||
| <t>Type: 5</t> | <dd pn="section-7.5-3.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-7.5-3.2. | ||||
| <t>Length: variable, dependent on the number of SRLGs. MUST be a | 1"> | |||
| multiple of 4 octets.</t> | <dt pn="section-7.5-3.2.1.1">Type:</dt> | |||
| <dd pn="section-7.5-3.2.1.2">5</dd> | ||||
| <t>Shared Risk Link Group Value: SRLG value as defined in <xref | <dt pn="section-7.5-3.2.1.3">Length:</dt> | |||
| target="RFC4203"/>.</t> | <dd pn="section-7.5-3.2.1.4">variable, dependent on the number of | |||
| </list></t> | SRLGs. <bcp14>MUST</bcp14> be a | |||
| multiple of 4 octets.</dd> | ||||
| <t>The OSPF FAESRLG Sub-TLV MUST NOT appear more than once in an OSPF | <dt pn="section-7.5-3.2.1.5">Shared Risk Link Group Value:</dt> | |||
| FAD TLV. If it appears more than once, the OSPF FAD TLV MUST be | <dd pn="section-7.5-3.2.1.6"> SRLG value, as defined in <xref targ | |||
| et="RFC4203" format="default" sectionFormat="of" derivedContent="RFC4203"/>.</dd | ||||
| > | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-7.5-4">The OSPF FAESRLG sub-TLV <bcp14>MUST NO | ||||
| T</bcp14> appear more than once in an OSPF | ||||
| FAD TLV. If it appears more than once, the OSPF FAD TLV <bcp14>MUST</bcp | ||||
| 14> be | ||||
| ignored by the receiver.</t> | ignored by the receiver.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="ISISFLEXMETRIC" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="ISISFLEXMETRIC" | false" pn="section-8"> | |||
| title="IS-IS Flexible Algorithm Prefix Metric Sub-TLV"> | <name slugifiedName="name-is-is-flexible-algorithm-pr">IS-IS Flexible Algo | |||
| <t>The IS-IS Flexible Algorithm Prefix Metric (FAPM) Sub-TLV supports the | rithm Prefix Metric Sub-TLV</name> | |||
| advertisement of a Flex-Algorithm specific prefix metric associated with | <t indent="0" pn="section-8-1">The IS-IS Flexible Algorithm Prefix Metric | |||
| (FAPM) sub-TLV supports the | ||||
| advertisement of a Flex-Algorithm-specific prefix metric associated with | ||||
| a given prefix advertisement.</t> | a given prefix advertisement.</t> | |||
| <t indent="0" pn="section-8-2">The IS-IS FAPM sub-TLV is a sub-TLV of TLVs | ||||
| <t>The IS-IS FAPM Sub-TLV is a sub-TLV of TLVs 135, 235, 236, and 237 and | 135, 235, 236, and 237 and | |||
| has the following format: <figure> | has the following format: </t> | |||
| <artwork><![CDATA[ | <artwork name="" type="" align="left" alt="" pn="section-8-3"> | |||
| 0 1 2 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 |Flex-Algorithm | | | Type | Length |Flex-Algorithm | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Metric | | | Metric | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| where: | </artwork> | |||
| ]]></artwork> | <dl newline="true" spacing="normal" indent="3" pn="section-8-4"> | |||
| </figure> <list style="hanging"> | <dt pn="section-8-4.1">where:</dt> | |||
| <t>Type: 6</t> | <dd pn="section-8-4.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-8-4.2.1"> | ||||
| <t>Length: 5 octets</t> | <dt pn="section-8-4.2.1.1">Type:</dt> | |||
| <dd pn="section-8-4.2.1.2">6</dd> | ||||
| <t>Flex-Algorithm: Single octet value between 128 and 255 | <dt pn="section-8-4.2.1.3">Length:</dt> | |||
| inclusive.</t> | <dd pn="section-8-4.2.1.4">5 octets</dd> | |||
| <dt pn="section-8-4.2.1.5">Flex-Algorithm:</dt> | ||||
| <t>Metric: 4 octets of metric information</t> | <dd pn="section-8-4.2.1.6">single octet value between 128 and 255 | |||
| </list></t> | inclusive.</dd> | |||
| <dt pn="section-8-4.2.1.7">Metric:</dt> | ||||
| <t>The IS-IS FAPM Sub-TLV MAY appear multiple times in its parent TLV. If | <dd pn="section-8-4.2.1.8">4 octets of metric information.</dd> | |||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-8-5">The IS-IS FAPM sub-TLV <bcp14>MAY</bcp14> a | ||||
| ppear multiple times in its parent TLV. If | ||||
| it appears more than once with the same Flex-Algorithm value, the first | it appears more than once with the same Flex-Algorithm value, the first | |||
| instance MUST be used and any subsequent instances MUST be ignored.</t> | instance <bcp14>MUST</bcp14> be used and any subsequent instances <bcp14>M | |||
| UST</bcp14> be ignored.</t> | ||||
| <t>If a prefix is advertised with a Flex-Algorithm prefix metric larger | <t indent="0" pn="section-8-6">If a prefix is advertised with a Flex-Algor | |||
| than MAX_PATH_METRIC as defined in <xref target="RFC5305"/> this prefix | ithm prefix metric larger | |||
| MUST NOT be considered during the Flexible Algorithm computation.</t> | than MAX_PATH_METRIC, as defined in <xref target="RFC5305" format="default | |||
| " sectionFormat="of" derivedContent="RFC5305"/>, this prefix | ||||
| <t>The usage of the Flex-Algorithm prefix metric is described in <xref | <bcp14>MUST NOT</bcp14> be considered during the Flexible Algorithm comput | |||
| target="FLEXALGPATHCALC"/>.</t> | ation.</t> | |||
| <t indent="0" pn="section-8-7">The usage of the Flex-Algorithm prefix metr | ||||
| <t>The IS-IS FAPM Sub-TLV MUST NOT be advertised as a sub-TLV of the IS-IS | ic is described in <xref target="FLEXALGPATHCALC" format="default" sectionFormat | |||
| SRv6 Locator TLV <xref target="I-D.ietf-lsr-isis-srv6-extensions"/>. The | ="of" derivedContent="Section 13"/>.</t> | |||
| IS-IS SRv6 Locator TLV includes the Algorithm and Metric fields which | <t indent="0" pn="section-8-8">The IS-IS FAPM sub-TLV <bcp14>MUST NOT</bcp | |||
| MUST be used instead. If the FAPM Sub-TLV is present as a sub-TLV of the | 14> be advertised as a sub-TLV of the IS-IS | |||
| IS-IS SRv6 Locator TLV in the received LSP, such FAPM Sub-TLV MUST be | SRv6 Locator TLV <xref target="RFC9352" format="default" sectionFormat="of | |||
| " derivedContent="RFC9352"/>. The | ||||
| IS-IS SRv6 Locator TLV includes the Algorithm and Metric fields, which | ||||
| <bcp14>MUST</bcp14> be used instead. If the FAPM sub-TLV is present as a s | ||||
| ub-TLV of the | ||||
| IS-IS SRv6 Locator TLV in the received LSP, such FAPM sub-TLV <bcp14>MUST< | ||||
| /bcp14> be | ||||
| ignored.</t> | ignored.</t> | |||
| </section> | </section> | |||
| <section anchor="OSPFFLEXMETRIC" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="OSPFFLEXMETRIC" | false" pn="section-9"> | |||
| title="OSPF Flexible Algorithm Prefix Metric Sub-TLV"> | <name slugifiedName="name-ospf-flexible-algorithm-pre">OSPF Flexible Algor | |||
| <t>The OSPF Flexible Algorithm Prefix Metric (FAPM) Sub-TLV supports the | ithm Prefix Metric Sub-TLV</name> | |||
| advertisement of a Flex-Algorithm specific prefix metric associated with | <t indent="0" pn="section-9-1">The OSPF Flexible Algorithm Prefix Metric ( | |||
| FAPM) sub-TLV supports the | ||||
| advertisement of a Flex-Algorithm-specific prefix metric associated with | ||||
| a given prefix advertisement.</t> | a given prefix advertisement.</t> | |||
| <t indent="0" pn="section-9-2">The OSPF FAPM sub-TLV is a sub-TLV of the:< | ||||
| <t>The OSPF Flex-Algorithm Prefix Metric (FAPM) Sub-TLV is a Sub-TLV of | /t> | |||
| the: <list style="hanging"> | <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-9-3 | |||
| <t>- OSPFv2 Extended Prefix TLV <xref target="RFC7684"/></t> | "> | |||
| <li pn="section-9-3.1">OSPFv2 Extended Prefix TLV <xref target="RFC7684" | ||||
| <t>- Following OSPFv3 TLVs as defined in <xref target="RFC8362"/>: | format="default" sectionFormat="of" derivedContent="RFC7684"/> | |||
| <list style="hanging"> | and</li> | |||
| <t>Inter-Area Prefix TLV</t> | <li pn="section-9-3.2"> | |||
| <t indent="0" pn="section-9-3.2.1">following OSPFv3 TLVs, as defined i | ||||
| <t>External Prefix TLV</t> | n <xref target="RFC8362" format="default" sectionFormat="of" derivedContent="RFC | |||
| </list></t> | 8362"/>:</t> | |||
| </list></t> | <ul bare="false" empty="false" indent="3" spacing="normal" pn="section | |||
| -9-3.2.2"> | ||||
| <t>OSPF FAPM Sub-TLV has the following format: <figure> | <li pn="section-9-3.2.2.1">Inter-Area Prefix TLV</li> | |||
| <artwork><![CDATA[ | <li pn="section-9-3.2.2.2">External-Prefix TLV</li> | |||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| <t indent="0" pn="section-9-4">The OSPF FAPM sub-TLV has the following for | ||||
| mat: </t> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-9-5"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |Flex-Algorithm | Flags | Reserved | | |Flex-Algorithm | Flags | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Metric | | | Metric | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| </artwork> | ||||
| where: | <dl newline="true" spacing="normal" indent="3" pn="section-9-6"> | |||
| ]]></artwork> | <dt pn="section-9-6.1">where:</dt> | |||
| </figure> <list style="hanging"> | <dd pn="section-9-6.2"> | |||
| <t>Type: 3 for OSPFv2, 26 for OSPFv3</t> | <dl newline="false" spacing="normal" indent="3" pn="section-9-6.2.1"> | |||
| <dt pn="section-9-6.2.1.1">Type:</dt> | ||||
| <t>Length: 8 octets</t> | <dd pn="section-9-6.2.1.2">3 for OSPFv2, and 26 for OSPFv3</dd> | |||
| <dt pn="section-9-6.2.1.3">Length:</dt> | ||||
| <t>Flex-Algorithm: Single octet value between 128 and 255 | <dd pn="section-9-6.2.1.4">8 octets</dd> | |||
| inclusive.</t> | <dt pn="section-9-6.2.1.5">Flex-Algorithm:</dt> | |||
| <dd pn="section-9-6.2.1.6">single octet value between 128 and 255 | ||||
| <t>Flags: One octet value <figure> | inclusive.</dd> | |||
| <artwork><![CDATA[ | <dt pn="section-9-6.2.1.7">Flags:</dt> | |||
| <dd pn="section-9-6.2.1.8"> | ||||
| <t indent="0" pn="section-9-6.2.1.8.1">1-octet value</t> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-9-6.2.1.8 | ||||
| .2"> | ||||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |E| | | |E| | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| ]]></artwork> | </artwork> | |||
| </figure> <list style="hanging"> | <dl newline="false" spacing="normal" indent="3" pn="section-9-6.2. | |||
| <t>E bit : position 0: The type of external metric. If bit is | 1.8.3"> | |||
| set, the metric specified is a Type 2 external metric. This bit | <dt pn="section-9-6.2.1.8.3.1">E bit:</dt> | |||
| is applicable only to OSPF External and NSSA external prefixes. | <dd pn="section-9-6.2.1.8.3.2">position 0: The type of external | |||
| This is semantically the same as the E bit in section A.4.5 of <xr | metric. If the bit is | |||
| ef | set, the metric specified is a Type 2 external metric. This bit | |||
| target="RFC2328"/> and section A.4.7 of <xref target="RFC5340"/> | is applicable only to OSPF external and Not-So-Stubby Area (NSSA) ex | |||
| for OSPFv2 and OSPFv3 respectively.</t> | ternal prefixes. | |||
| This is semantically the same as the E bit in <xref target="RFC2328" | ||||
| <t>Bits 1 through 7: MUST be cleared by originator and ignored by | format="default" sectionFormat="of" section="A.4.5" derivedLink="https://rfc-ed | |||
| receiver.</t> | itor.org/rfc/rfc2328#appendix-A.4.5" derivedContent="RFC2328"/> and <xref target | |||
| </list></t> | ="RFC5340" format="default" sectionFormat="of" section="A.4.7" derivedLink="http | |||
| s://rfc-editor.org/rfc/rfc5340#appendix-A.4.7" derivedContent="RFC5340"/> for OS | ||||
| <t>Reserved: MUST be set to 0, ignored at reception.</t> | PFv2 and OSPFv3, respectively.</dd> | |||
| <dt pn="section-9-6.2.1.8.3.3">Bits 1 through 7:</dt> | ||||
| <t>Metric: 4 octets of metric information</t> | <dd pn="section-9-6.2.1.8.3.4"> | |||
| </list></t> | <bcp14>MUST</bcp14> be cleared by the originator and ignored b | |||
| y | ||||
| <t>The OSPF FAPM Sub-TLV MAY appear multiple times in its parent TLV. If | the receiver.</dd> | |||
| </dl> | ||||
| </dd> | ||||
| <dt pn="section-9-6.2.1.9">Reserved:</dt> | ||||
| <dd pn="section-9-6.2.1.10"> | ||||
| <bcp14>MUST</bcp14> be set to 0 and ignored at reception.</dd> | ||||
| <dt pn="section-9-6.2.1.11">Metric:</dt> | ||||
| <dd pn="section-9-6.2.1.12">4 octets of metric information.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-9-7">The OSPF FAPM sub-TLV <bcp14>MAY</bcp14> ap | ||||
| pear multiple times in its parent TLV. If | ||||
| it appears more than once with the same Flex-Algorithm value, the first | it appears more than once with the same Flex-Algorithm value, the first | |||
| instance MUST be used and any subsequent instances MUST be ignored.</t> | instance <bcp14>MUST</bcp14> be used and any subsequent instances <bcp14>M | |||
| UST</bcp14> be ignored.</t> | ||||
| <t>The usage of the Flex-Algorithm prefix metric is described in <xref | <t indent="0" pn="section-9-8">The usage of the Flex-Algorithm prefix metr | |||
| target="FLEXALGPATHCALC"/>.</t> | ic is described in <xref target="FLEXALGPATHCALC" format="default" sectionFormat | |||
| ="of" derivedContent="Section 13"/>.</t> | ||||
| </section> | </section> | |||
| <section anchor="OSPFASBR" numbered="true" toc="include" removeInRFC="false" | ||||
| <section anchor="OSPFASBR" | pn="section-10"> | |||
| title="OSPF Flexible Algorithm ASBR Reachability Advertisement"> | <name slugifiedName="name-ospf-flexible-algorithm-asb">OSPF Flexible Algor | |||
| <t>An OSPF ABR advertises the reachability of ASBRs in its attached | ithm ASBR Reachability Advertisement</name> | |||
| <t indent="0" pn="section-10-1">An OSPF ABR advertises the reachability of | ||||
| ASBRs in its attached | ||||
| areas to enable routers within those areas to perform route calculations | areas to enable routers within those areas to perform route calculations | |||
| for external prefixes advertised by the ASBRs. OSPF extensions for | for external prefixes advertised by the ASBRs. OSPF extensions for | |||
| advertisement of Flex-Algorithm specific reachability and metric for | advertisement of Flex-Algorithm-specific reachability and the metric for | |||
| ASBRs is similarly required for Flex-Algorithm external prefix | ASBRs is similarly required for Flex-Algorithm external prefix | |||
| computations as described further in <xref | computations, as described further in <xref target="FLEXALGPATHCALCINTER" | |||
| target="FLEXALGPATHCALCINTER"/>.</t> | format="default" sectionFormat="of" derivedContent="Section 13.1"/>.</t> | |||
| <section anchor="OSPFEXTASBRLSA" numbered="true" toc="include" removeInRFC | ||||
| <section anchor="OSPFEXTASBRLSA" | ="false" pn="section-10.1"> | |||
| title="OSPFv2 Extended Inter-Area ASBR LSA"> | <name slugifiedName="name-ospfv2-extended-inter-area-">OSPFv2 Extended I | |||
| <t>The OSPFv2 Extended Inter-Area ASBR (EIA-ASBR) LSA is an OSPF | nter-Area ASBR LSA</name> | |||
| Opaque LSA <xref target="RFC5250"/> that is used to advertise | <t indent="0" pn="section-10.1-1">The OSPFv2 Extended Inter-Area ASBR (E | |||
| IA-ASBR) LSA is an OSPF | ||||
| Opaque LSA <xref target="RFC5250" format="default" sectionFormat="of" de | ||||
| rivedContent="RFC5250"/> that is used to advertise | ||||
| additional attributes related to the reachability of the OSPFv2 ASBR | additional attributes related to the reachability of the OSPFv2 ASBR | |||
| that is external to the area yet internal to the OSPF domain. | that is external to the area yet internal to the OSPF domain. | |||
| Semantically, the OSPFv2 EIA-ASBR LSA is equivalent to the fixed | Semantically, the OSPFv2 EIA-ASBR LSA is equivalent to the fixed | |||
| format Type 4 Summary LSA <xref target="RFC2328"/>. Unlike the Type 4 | format Type 4 summary-LSA <xref target="RFC2328" format="default" sectio | |||
| Summary LSA, the LSID of the EIA-ASBR LSA does not carry the ASBR | nFormat="of" derivedContent="RFC2328"/>. Unlike the Type 4 | |||
| Router-ID - the ASBR Router-ID is carried in the body of the LSA. | summary-LSA, the Link State ID (LSID) of the EIA-ASBR LSA does not carry | |||
| The OSPFv2 EIA-ASBR LSA is advertised by an OSPFv2 ABR and its flooding | the ASBR | |||
| is | Router ID -- the ASBR Router ID is carried in the body of the LSA. | |||
| The OSPFv2 EIA-ASBR LSA is advertised by an OSPFv2 ABR, and its flooding | ||||
| is | ||||
| defined to be area-scoped only.</t> | defined to be area-scoped only.</t> | |||
| <t indent="0" pn="section-10.1-2">An OSPFv2 ABR generates the EIA-ASBR L | ||||
| <t>An OSPFv2 ABR generates the EIA-ASBR LSA for an ASBR when it is | SA for an ASBR when it is | |||
| advertising the Type-4 Summary LSA for it and has the need for | advertising the Type 4 summary-LSA for it and has the need for | |||
| advertising additional attributes for that ASBR beyond what is | advertising additional attributes for that ASBR beyond what is | |||
| conveyed in the fixed format Type-4 Summary LSA. An OSPFv2 ABR MUST | conveyed in the fixed-format Type 4 summary-LSA. An OSPFv2 ABR <bcp14>MU | |||
| NOT advertise the EIA-ASBR LSA for an ASBR for which it is not | ST NOT</bcp14> advertise the EIA-ASBR LSA for an ASBR for which it is not | |||
| advertising the Type 4 Summary LSA. This ensures that the ABR does not | advertising the Type 4 summary-LSA. This ensures that the ABR does not | |||
| generate the EIA-ASBR LSA for an ASBR to which it does not have | generate the EIA-ASBR LSA for an ASBR to which it does not have | |||
| reachability in the base OSPFv2 topology calculation. The OSPFv2 ABR | reachability in the base OSPFv2 topology calculation. The OSPFv2 ABR | |||
| SHOULD NOT advertise the EIA-ASBR LSA for an ASBR when it does not | <bcp14>SHOULD NOT</bcp14> advertise the EIA-ASBR LSA for an ASBR when it does not | |||
| have additional attributes to advertise for that ASBR.</t> | have additional attributes to advertise for that ASBR.</t> | |||
| <t indent="0" pn="section-10.1-3">The OSPFv2 EIA-ASBR LSA has the follow | ||||
| <t>The OSPFv2 EIA-ASBR LSA has the following format: <figure> | ing format: </t> | |||
| <artwork><![CDATA[ | <artwork name="" type="" align="left" alt="" pn="section-10.1-4"> | |||
| 0 1 2 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS age | Options | LS Type | | | LS age | Options | LS Type | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Opaque Type | Opaque ID | | | Opaque Type | Opaque ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Advertising Router | | | Advertising Router | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS sequence number | | | LS sequence number | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | LS checksum | Length | | | LS checksum | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| +- TLVs -+ | +- TLVs -+ | |||
| | ... | | | ... | | |||
| </artwork> | ||||
| ]]></artwork> | <t indent="0" pn="section-10.1-5">The LS age and Options fields are as d | |||
| </figure></t> | efined in | |||
| <xref target="RFC2328" format="default" sectionFormat="of" section="A.4. | ||||
| <t>LS age and Options fields are as defined in Section A.4.1. of | 1" derivedLink="https://rfc-editor.org/rfc/rfc2328#appendix-A.4.1" derivedConten | |||
| <xref target="RFC2328"/>.</t> | t="RFC2328"/>.</t> | |||
| <t indent="0" pn="section-10.1-6">The LS Type <bcp14>MUST</bcp14> be 10, | ||||
| <t>The LS Type MUST be 10, indicating that the Opaque | indicating that the Opaque | |||
| LSA flooding scope is area-local <xref target="RFC5250"/>.</t> | LSA flooding scope is area-local <xref target="RFC5250" format="default" | |||
| sectionFormat="of" derivedContent="RFC5250"/>.</t> | ||||
| <t>The Opaque Type used by the OSPFv2 EIA-ASBR LSA is 11. | <t indent="0" pn="section-10.1-7">The Opaque Type used by the OSPFv2 EIA | |||
| -ASBR LSA is 11. | ||||
| The Opaque Type is used to differentiate the various types | The Opaque Type is used to differentiate the various types | |||
| of OSPFv2 Opaque LSAs and is described in Section 3 of <xref | of OSPFv2 Opaque LSAs and is described in <xref target="RFC5250" section | |||
| target="RFC5250"/>.</t> | ="3" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc | |||
| /rfc5250#section-3" derivedContent="RFC5250"/>.</t> | ||||
| <t>The Opaque ID field is an arbitrary value used to maintain multiple | <t indent="0" pn="section-10.1-8">The Opaque ID field is an arbitrary va | |||
| lue used to maintain multiple | ||||
| OSPFv2 EIA-ASBR LSAs. For OSPFv2 EIA-ASBR LSAs, the Opaque ID has no | OSPFv2 EIA-ASBR LSAs. For OSPFv2 EIA-ASBR LSAs, the Opaque ID has no | |||
| semantic significance other than to differentiate OSPFv2 EIA-ASBR LSAs | semantic significance other than to differentiate OSPFv2 EIA-ASBR LSAs | |||
| originated by the same OSPFv2 ABR. If multiple OSPFv2 EIA-ASBR LSAs | originated by the same OSPFv2 ABR. If multiple OSPFv2 EIA-ASBR LSAs | |||
| specify the same ASBR, the attributes from the Opaque LSA with the | specify the same ASBR, the attributes from the Opaque LSA with the | |||
| lowest Opaque ID SHOULD be used.</t> | lowest Opaque ID <bcp14>SHOULD</bcp14> be used.</t> | |||
| <t indent="0" pn="section-10.1-9">The Advertising Router, LS sequence nu | ||||
| <t>Advertising Router, LS sequence number, and LS checksum fields are as | mber, and LS checksum fields are as defined in | |||
| defined in | <xref target="RFC2328" format="default" sectionFormat="of" section="A.4. | |||
| Section A.4.1. of <xref target="RFC2328"/>.</t> | 1" derivedLink="https://rfc-editor.org/rfc/rfc2328#appendix-A.4.1" derivedConten | |||
| t="RFC2328"/>.</t> | ||||
| <t>The Length field is as defined in Section A.4.1. of <xref target="RFC | <t indent="0" pn="section-10.1-10">The Length field is as defined in <xr | |||
| 5250"/>. | ef target="RFC2328" format="default" sectionFormat="of" section="A.4.1" derivedL | |||
| ink="https://rfc-editor.org/rfc/rfc2328#appendix-A.4.1" derivedContent="RFC2328" | ||||
| />. | ||||
| It represents the total length (in octets) of the Opaque LSA, including the | It represents the total length (in octets) of the Opaque LSA, including the | |||
| LSA header and all TLVs (including padding).</t> | LSA header and all TLVs (including padding).</t> | |||
| <t indent="0" pn="section-10.1-11">The format of the TLVs within the bod | ||||
| <t>The format of the TLVs within the body of the OSPFv2 EIA-ASBR LSA | y of the OSPFv2 EIA-ASBR LSA | |||
| is the same as the format used by the Traffic Engineering Extensions | is the same as the format used by the Traffic Engineering Extensions | |||
| to OSPFv2 <xref target="RFC3630"/>. The variable TLV section consists | to OSPFv2 <xref target="RFC3630" format="default" sectionFormat="of" der ivedContent="RFC3630"/>. The variable TLV section consists | |||
| of one or more nested TLV tuples. Nested TLVs are also referred to as | of one or more nested TLV tuples. Nested TLVs are also referred to as | |||
| sub- TLVs. The TLV Length field defines the length of the value portion in | sub-TLVs. The TLV Length field defines the length of the value portion i n | |||
| octets (thus, a TLV with no value portion would have a length of 0). | octets (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 | The TLV is 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 | Length field (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 | total size of the TLV would be 8 octets). Nested TLVs are also 32-bit | |||
| aligned. For example, a 1-octet value would have the Length field set | aligned. For example, a 1-octet value would have the Length field set | |||
| to 1, and 3 octets of padding would be added to the end of the value | to 1, and 3 octets of padding would be added to the end of the value | |||
| portion of the TLV. The padding is composed of zeros.</t> | portion of the TLV. The padding is composed of zeros.</t> | |||
| <section anchor="OSPFEXTASBRTLV" numbered="true" toc="include" removeInR | ||||
| <section anchor="OSPFEXTASBRTLV" | FC="false" pn="section-10.1.1"> | |||
| title="OSPFv2 Extended Inter-Area ASBR TLV"> | <name slugifiedName="name-ospfv2-extended-inter-area-a">OSPFv2 Extende | |||
| <t>The OSPFv2 Extended Inter-Area ASBR (EIA-ASBR) TLV is a top-level | d Inter-Area ASBR TLV</name> | |||
| <t indent="0" pn="section-10.1.1-1">The OSPFv2 Extended Inter-Area ASB | ||||
| R (EIA-ASBR) TLV is a top-level | ||||
| TLV of the OSPFv2 EIA-ASBR LSA and is used to advertise additional | TLV of the OSPFv2 EIA-ASBR LSA and is used to advertise additional | |||
| attributes associated with the reachability of an ASBR.</t> | attributes associated with the reachability of an ASBR.</t> | |||
| <t indent="0" pn="section-10.1.1-2">The OSPFv2 EIA-ASBR TLV has the fo | ||||
| <t>The OSPFv2 EIA-ASBR TLV has the following format:</t> | llowing format:</t> | |||
| <artwork name="" type="" align="left" alt="" pn="section-10.1.1-3"> | ||||
| <t><figure> | 0 1 2 3 | |||
| <artwork><![CDATA[ 0 1 2 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| 3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | ASBR Router ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | ASBR Router ID | | . . | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . Sub-TLVs . | |||
| . . | . . | |||
| . Sub-TLVs . | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| . . | </artwork> | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | <dl newline="true" spacing="normal" indent="3" pn="section-10.1.1-4"> | |||
| <dt pn="section-10.1.1-4.1">where:</dt> | ||||
| where: | <dd pn="section-10.1.1-4.2"> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-10.1.1 | ||||
| ]]></artwork> | -4.2.1"> | |||
| </figure></t> | <dt pn="section-10.1.1-4.2.1.1">Type:</dt> | |||
| <dd pn="section-10.1.1-4.2.1.2">1</dd> | ||||
| <t><list style="hanging"> | <dt pn="section-10.1.1-4.2.1.3">Length:</dt> | |||
| <t>Type: 1</t> | <dd pn="section-10.1.1-4.2.1.4">variable number of octets.</dd> | |||
| <dt pn="section-10.1.1-4.2.1.5">ASBR Router ID:</dt> | ||||
| <t>Length: variable number of octets</t> | <dd pn="section-10.1.1-4.2.1.6">4 octets carrying the OSPF Route | |||
| r ID of | ||||
| <t>ASBR Router ID: four octets carrying the OSPF Router ID of | the ASBR whose information is being carried.</dd> | |||
| the ASBR whose information is being carried.</t> | <dt pn="section-10.1.1-4.2.1.7">Sub-TLVs:</dt> | |||
| <dd pn="section-10.1.1-4.2.1.8">variable</dd> | ||||
| <t>Sub-TLVs : variable</t> | </dl> | |||
| </list></t> | </dd> | |||
| </dl> | ||||
| <t>Only a single OSPFv2 EIA-ASBR TLV MUST be advertised in each | <t indent="0" pn="section-10.1.1-5">Only a single OSPFv2 EIA-ASBR TLV | |||
| OSPFv2 EIA-ASBR LSA and the receiver MUST ignore all instances of | <bcp14>MUST</bcp14> be advertised in each | |||
| OSPFv2 EIA-ASBR LSA, and the receiver <bcp14>MUST</bcp14> ignore all i | ||||
| nstances of | ||||
| this TLV other than the first one in an LSA.</t> | this TLV other than the first one in an LSA.</t> | |||
| <t indent="0" pn="section-10.1.1-6">The OSPFv2 EIA-ASBR TLV <bcp14>MUS | ||||
| <t>OSPFv2 EIA-ASBR TLV MUST be present inside an OSPFv2 EIA-ASBR LSA | T</bcp14> be present inside an OSPFv2 EIA-ASBR LSA | |||
| and MUST include at least a single sub-TLV, otherwise the OSPFv2 | and <bcp14>MUST</bcp14> include at least a single sub-TLV; otherwise, | |||
| EIA-ASBR LSA MUST be ignored by the receiver.</t> | the OSPFv2 | |||
| EIA-ASBR LSA <bcp14>MUST</bcp14> be ignored by the receiver.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="OSPFFAASBRMETRIC" numbered="true" toc="include" removeInR | ||||
| <section anchor="OSPFFAASBRMETRIC" | FC="false" pn="section-10.2"> | |||
| title="OSPF Flexible Algorithm ASBR Metric Sub-TLV"> | <name slugifiedName="name-ospf-flexible-algorithm-asbr">OSPF Flexible Al | |||
| <t>The OSPF Flexible Algorithm ASBR Metric (FAAM) Sub-TLV supports the | gorithm ASBR Metric Sub-TLV</name> | |||
| advertisement of a Flex-Algorithm specific metric associated with a | <t indent="0" pn="section-10.2-1">The OSPF Flexible Algorithm ASBR Metri | |||
| c (FAAM) sub-TLV supports the | ||||
| advertisement of a Flex-Algorithm-specific metric associated with a | ||||
| given ASBR reachability advertisement by an ABR.</t> | given ASBR reachability advertisement by an ABR.</t> | |||
| <t indent="0" pn="section-10.2-2">The OSPF FAAM sub-TLV is a sub-TLV of | ||||
| <t>The OSPF Flex-Algorithm ASBR Metric (FAAM) Sub-TLV is a Sub-TLV of | the: </t> | |||
| the: <list style="hanging"> | <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-1 | |||
| <t>- OSPFv2 Extended Inter-Area ASBR TLV as defined in <xref | 0.2-3"> | |||
| target="OSPFEXTASBRTLV"/></t> | <li pn="section-10.2-3.1">OSPFv2 Extended Inter-Area ASBR TLV, as defi | |||
| ned in <xref target="OSPFEXTASBRTLV" format="default" sectionFormat="of" derived | ||||
| <t>- OSPFv3 Inter-Area-Router TLV defined in <xref | Content="Section 10.1.1"/>, and</li> | |||
| target="RFC8362"/></t> | <li pn="section-10.2-3.2">OSPFv3 Inter-Area-Router TLV, as defined in | |||
| </list></t> | <xref target="RFC8362" format="default" sectionFormat="of" derivedContent="RFC83 | |||
| 62"/>.</li> | ||||
| <t>OSPF FAAM Sub-TLV has the following format: <figure> | </ul> | |||
| <artwork><![CDATA[ | <t indent="0" pn="section-10.2-4">The OSPF FAAM sub-TLV has the followin | |||
| g format: </t> | ||||
| <artwork name="" type="" align="left" alt="" pn="section-10.2-5"> | ||||
| 0 1 2 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |Flex-Algorithm | Reserved | | |Flex-Algorithm | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Metric | | | Metric | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| </artwork> | ||||
| where: | <dl newline="true" spacing="normal" indent="3" pn="section-10.2-6"> | |||
| ]]></artwork> | <dt pn="section-10.2-6.1">where:</dt> | |||
| </figure> <list style="hanging"> | <dd pn="section-10.2-6.2"> | |||
| <t>Type: 1 for OSPFv2, 33 for OSPFv3</t> | <dl newline="false" spacing="normal" indent="3" pn="section-10.2-6.2 | |||
| .1"> | ||||
| <t>Length: 8 octets</t> | <dt pn="section-10.2-6.2.1.1">Type:</dt> | |||
| <dd pn="section-10.2-6.2.1.2">1 for OSPFv2, and 33 for OSPFv3</dd> | ||||
| <t>Flex-Algorithm: Single octet value between 128 and 255 | <dt pn="section-10.2-6.2.1.3">Length:</dt> | |||
| inclusive.</t> | <dd pn="section-10.2-6.2.1.4">8 octets</dd> | |||
| <dt pn="section-10.2-6.2.1.5">Flex-Algorithm:</dt> | ||||
| <t>Reserved: Three octets. MUST be set to 0, ignored at reception.</ | <dd pn="section-10.2-6.2.1.6">single octet value between 128 and 2 | |||
| t> | 55 | |||
| inclusive.</dd> | ||||
| <t>Metric: 4 octets of metric information</t> | <dt pn="section-10.2-6.2.1.7">Reserved:</dt> | |||
| </list></t> | <dd pn="section-10.2-6.2.1.8">3 octets. <bcp14>MUST</bcp14> be set | |||
| to 0 and ignored at | ||||
| <t>The OSPF FAAM Sub-TLV MAY appear multiple times in its parent TLV. | reception.</dd> | |||
| <dt pn="section-10.2-6.2.1.9">Metric:</dt> | ||||
| <dd pn="section-10.2-6.2.1.10">4 octets of metric information.</dd | ||||
| > | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t indent="0" pn="section-10.2-7">The OSPF FAAM sub-TLV <bcp14>MAY</bcp1 | ||||
| 4> appear multiple times in its parent TLV. | ||||
| If it appears more than once with the same Flex-Algorithm value, the | If it appears more than once with the same Flex-Algorithm value, the | |||
| first instance MUST be used and any subsequent instances MUST be | first instance <bcp14>MUST</bcp14> be used and any subsequent instances <bcp14>MUST</bcp14> be | |||
| ignored.</t> | ignored.</t> | |||
| <t indent="0" pn="section-10.2-8">The advertisement of the ASBR reachabi | ||||
| <t>The advertisement of the ASBR reachability using the OSPF FAAM | lity using the OSPF FAAM | |||
| Sub-TLV inside the OSPFv2 EIA-ASBR LSA follows Section 12.4.3 of | sub-TLV inside the OSPFv2 EIA-ASBR LSA follows <xref target="RFC2328" se | |||
| <xref target="RFC2328"/> and inside the OSPFv3 E-Inter-Area-Router LSA | ction="12.4.3" sectionFormat="of" format="default" derivedLink="https://rfc-edit | |||
| follows Section 4.8.5 of <xref target="RFC5340"/>. The | or.org/rfc/rfc2328#section-12.4.3" derivedContent="RFC2328"/> and inside the OSP | |||
| Fv3 E-Inter-Area-Router-LSA | ||||
| follows <xref target="RFC5340" section="4.8.5" sectionFormat="of" format | ||||
| ="default" derivedLink="https://rfc-editor.org/rfc/rfc5340#section-4.8.5" derive | ||||
| dContent="RFC5340"/>. The | ||||
| reachability of the ASBR is evaluated in the context of the specific | reachability of the ASBR is evaluated in the context of the specific | |||
| Flex-Algorithm.</t> | Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-10.2-9">The FAAM computed by the ABR will be e | ||||
| <t>The FAAM computed by the ABR will be equal to the metric to reach | qual to the metric to reach | |||
| the ASBR for a given Flex-Algorithm in a source area or the cumulative | the ASBR for a given Flex-Algorithm in a source area or the cumulative | |||
| metric via other ABR(s) when the ASBR is in a remote area. This is | metric via an ABR(s) when the ASBR is in a remote area. This is | |||
| similar in nature to how the metric is set when the ASBR reachability | similar in nature to how the metric is set when the ASBR reachability | |||
| metric is computed in the default algorithm for the metric in the | metric is computed in the default algorithm for the metric in the | |||
| OSPFv2 Type 4 ASBR Summary LSA and the OSPFv3 Inter-Area-Router | OSPFv2 Type 4 ASBR summary-LSA and the OSPFv3 Inter-Area-Router-LSA.</t> | |||
| LSA.</t> | <t indent="0" pn="section-10.2-10">An OSPF ABR <bcp14>MUST NOT</bcp14> i | |||
| nclude the OSPF FAAM sub-TLV with a specific | ||||
| <t>An OSPF ABR MUST NOT include the OSPF FAAM Sub-TLV with a specific | ||||
| Flex-Algorithm in its reachability advertisement for an ASBR between | Flex-Algorithm in its reachability advertisement for an ASBR between | |||
| areas unless that ASBR is reachable for it in the context of that | areas unless that ASBR is reachable for it in the context of that | |||
| specific Flex-Algorithm.</t> | specific Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-10.2-11">An OSPF ABR <bcp14>MUST</bcp14> inclu | ||||
| <t>An OSPF ABR MUST include the OSPF FAAM Sub-TLVs as part of the ASBR | de the OSPF FAAM sub-TLVs as part of the ASBR | |||
| reachability advertisement between areas for any Flex-Algorithm for | reachability advertisement between areas for any Flex-Algorithm for | |||
| which the winning FAD includes the M-flag and the ASBR is reachable | which the winning FAD includes the M-flag and the ASBR is reachable | |||
| in the context of that specific Flex-Algorithm.</t> | in the context of that specific Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-10.2-12">OSPF routers <bcp14>MUST</bcp14> use | ||||
| <t>OSPF routers MUST use the OSPF FAAM Sub-TLV to calculate the | the OSPF FAAM sub-TLV to calculate the | |||
| reachability of the ASBRs if the winning FAD for the specific Flex- | reachability of the ASBRs if the winning FAD for the specific Flex- | |||
| Algorithm includes the M-flag. OSPF routers MUST NOT use the OSPF FAAM | Algorithm includes the M-flag. OSPF routers <bcp14>MUST NOT</bcp14> use | |||
| Sub-TLV to calculate the reachability of the ASBRs for the specific | the OSPF FAAM | |||
| sub-TLV to calculate the reachability of the ASBRs for the specific | ||||
| Flex-Algorithm if the winning FAD for such Flex-Algorithm does not | Flex-Algorithm if the winning FAD for such Flex-Algorithm does not | |||
| include the M-flag. Instead, the OSPFv2 Type 4 Summary LSAs or the | include the M-flag. Instead, the OSPFv2 Type 4 summary-LSAs or the | |||
| OSPFv3 Inter-Area-Router-LSAs MUST be used instead as specified in | OSPFv3 Inter-Area-Router-LSAs <bcp14>MUST</bcp14> be used, as specified | |||
| section 16.2 of <xref target="RFC2328"/> and section 4.8.5 of <xref | in | |||
| target="RFC5340"/> for OSPFv2 and OSPFv3 respectively.</t> | <xref target="RFC2328" section="16.2" sectionFormat="of" format="default | |||
| " derivedLink="https://rfc-editor.org/rfc/rfc2328#section-16.2" derivedContent=" | ||||
| <t>The processing of a new or changed OSPF FAAM Sub-TLV triggers the | RFC2328"/> and <xref target="RFC5340" section="4.8.5" sectionFormat="of" format= | |||
| processing of External routes similar to what is described in | "default" derivedLink="https://rfc-editor.org/rfc/rfc5340#section-4.8.5" derived | |||
| section 16.5 of the <xref target="RFC2328"/> for OSPFv2 and section | Content="RFC5340"/> for OSPFv2 and OSPFv3, respectively.</t> | |||
| 4.8.5 of <xref target="RFC5340"/> for OSPFv3 for the specific | <t indent="0" pn="section-10.2-13">The processing of a new or changed OS | |||
| Flex-Algorithm. The External and NSSA External route calculation | PF FAAM sub-TLV triggers the | |||
| should be limited to Flex-Algorithm(s) for which the winning FAD(s) | processing of external routes similar to what is described in | |||
| <xref target="RFC2328" format="default" sectionFormat="of" section="16.5 | ||||
| " derivedLink="https://rfc-editor.org/rfc/rfc2328#section-16.5" derivedContent=" | ||||
| RFC2328"/> for OSPFv2 and <xref target="RFC5340" section="4.8.5" sectionFormat=" | ||||
| of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5340#section-4.8 | ||||
| .5" derivedContent="RFC5340"/> for OSPFv3 for the specific | ||||
| Flex-Algorithm. | ||||
| The OSPF external and NSSA external route calculation | ||||
| should be limited to a Flex-Algorithm(s) for which the winning FAD(s) | ||||
| includes the M-flag.</t> | includes the M-flag.</t> | |||
| <t indent="0" pn="section-10.2-14">Processing of the OSPF FAAM sub-TLV d | ||||
| <t>Processing of the OSPF FAAM Sub-TLV does not require the existence | oes not require the existence | |||
| of the equivalent OSPFv2 Type 4 Summary LSA or the OSPFv3 | of the equivalent OSPFv2 Type 4 summary-LSA or the OSPFv3 | |||
| Inter-Area-Router-LSA that is advertised by the same ABR inside the | Inter-Area-Router-LSA that is advertised by the same ABR inside the | |||
| area. The presence of the base LSA is not mandatory for the usage of the | area. The presence of the base LSA is not mandatory for the usage of the | |||
| extended LSA with the OSPF FAAM Sub-TLV.</t> | extended LSA with the OSPF FAAM sub-TLV.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="FLEXALGPART" numbered="true" toc="include" removeInRFC="fal | ||||
| <section anchor="FLEXALGPART" | se" pn="section-11"> | |||
| title="Advertisement of Node Participation in a Flex-Algorithm"> | <name slugifiedName="name-advertisement-of-node-parti">Advertisement of No | |||
| <t>When a router is configured to participate in a particular Flex-Algorit | de Participation in a Flex-Algorithm</name> | |||
| hm and | <t indent="0" pn="section-11-1">When a router is configured to participate | |||
| in a particular Flex-Algorithm and | ||||
| is advertising such participation, it is participating in that Flex-Algori thm.</t> | is advertising such participation, it is participating in that Flex-Algori thm.</t> | |||
| <t indent="0" pn="section-11-2">Paths for various data planes <bcp14>MAY</ | ||||
| <t>Paths for various data-planes MAY be computed for a specific Flex-Algor | bcp14> be computed for a specific Flex-Algorithm. | |||
| ithm. | Each data plane uses its own specific forwarding over such Flex-Algorithm | |||
| Each data-plane uses its own specific forwarding over such Flex-Algorithm | paths. | |||
| paths. | To guarantee the presence of the data-plane-specific forwarding, associate | |||
| To guarantee the presence of the data-plane specific forwarding, associate | d with | |||
| d with | a particular Flex-Algorithm, a router <bcp14>MUST</bcp14> advertise its pa | |||
| a particular Flex-Algorithm, a router MUST advertise its participation for | rticipation for a | |||
| a | particular Flex-Algorithm for each data plane. Some data planes may share | |||
| particular Flex-Algorithm for each data-plane. Some data-planes may share | a common | |||
| a common | participation advertisement (e.g., SR-MPLS and SRv6).</t> | |||
| participation advertisement (e.g. SR-MPLS and SRv6).</t> | <t indent="0" pn="section-11-3">Advertisement of the participation for any | |||
| particular Flex-Algorithm in any | ||||
| <t>Advertisement of the participation for any particular Flex-Algorithm in | data plane is subject to the condition specified in | |||
| any | <xref target="COMMONLEXALGTLV" format="default" sectionFormat="of" deriv | |||
| data-plane is subject to the condition specified in | edContent="Section 5.3"/>.</t> | |||
| <xref target="COMMONLEXALGTLV"/>.</t> | <section anchor="FLEXALGPARTSR" numbered="true" toc="include" removeInRFC= | |||
| "false" pn="section-11.1"> | ||||
| <section anchor="FLEXALGPARTSR" | <name slugifiedName="name-advertisement-of-node-partic">Advertisement of | |||
| title="Advertisement of Node Participation for Segment Routing"> | Node Participation for Segment Routing</name> | |||
| <t><xref target="RFC8667"/>, <xref target="RFC8665"/>, and <xref | <t indent="0" pn="section-11.1-1"><xref target="RFC8665" format="default | |||
| target="RFC8666"/> (IGP Segment Routing extensions) describe how the | " sectionFormat="of" derivedContent="RFC8665"/>, <xref target="RFC8666" format=" | |||
| default" sectionFormat="of" derivedContent="RFC8666"/>, and <xref target="RFC866 | ||||
| 7" format="default" sectionFormat="of" derivedContent="RFC8667"/> (IGP Segment R | ||||
| outing extensions) describe how the | ||||
| SR-Algorithm is used to compute the IGP best path.</t> | SR-Algorithm is used to compute the IGP best path.</t> | |||
| <t indent="0" pn="section-11.1-2">Routers advertise support for the SR-A | ||||
| <t>Routers advertise support for the SR-Algorithm as a node | lgorithm as a node | |||
| capability as described in the above-mentioned IGP Segment Routing | capability, as described in the above-mentioned IGP Segment Routing | |||
| extensions. To advertise participation for a particular Flex-Algorithm | extensions. To advertise participation for a particular Flex-Algorithm | |||
| for Segment Routing, including both SR-MPLS and SRv6, the | for Segment Routing, including both SR-MPLS and SRv6, the | |||
| Flex-Algorithm value MUST be advertised in the SR-Algorithm TLV (OSPF) | Flex-Algorithm value <bcp14>MUST</bcp14> be advertised in the SR-Algorit hm TLV (OSPF) | |||
| or sub-TLV (IS-IS).</t> | or sub-TLV (IS-IS).</t> | |||
| <t indent="0" pn="section-11.1-3">Segment Routing Flex-Algorithm partici | ||||
| <t>Segment Routing Flex-Algorithm participation advertisement is | pation advertisement is | |||
| topology independent. When a router advertises participation in an | topology independent. When a router advertises participation in an | |||
| SR-Algorithm, the participation applies to all topologies in which the | SR-Algorithm, the participation applies to all topologies in which the | |||
| advertising node participates.</t> | advertising node participates.</t> | |||
| </section> | </section> | |||
| <section anchor="FLEXALGPARTOTHER" numbered="true" toc="include" removeInR | ||||
| <section anchor="FLEXALGPARTOTHER" | FC="false" pn="section-11.2"> | |||
| title="Advertisement of Node Participation for Other Data-planes" | <name slugifiedName="name-advertisement-of-node-partici">Advertisement o | |||
| > | f Node Participation for Other Data Planes</name> | |||
| <t>This section describes considerations related to how other | <t indent="0" pn="section-11.2-1">This section describes considerations | |||
| data-planes can advertise their participation in a specific | related to how other | |||
| data planes can advertise their participation in a specific | ||||
| Flex-Algorithm.</t> | Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-11.2-2">Data-plane-specific Flex-Algorithm par | ||||
| <t>Data-plane specific Flex-Algorithm participation advertisements | ticipation advertisements | |||
| MAY be topology specific or MAY be topology independent, depending on | <bcp14>MAY</bcp14> be topology specific or <bcp14>MAY</bcp14> be topolog | |||
| the data-plane itself.</t> | y independent, depending on | |||
| the data plane itself.</t> | ||||
| <t>Data-plane specific advertisement for Flex-Algorithm participation | <t indent="0" pn="section-11.2-3">Data-plane-specific advertisement for | |||
| MUST be defined for each data-plane and is outside the scope of | Flex-Algorithm participation | |||
| <bcp14>MUST</bcp14> be defined for each data plane and is outside the sc | ||||
| ope of | ||||
| this document.</t> | this document.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="FLEXALGLINKATTR" numbered="true" toc="include" removeInRFC= | ||||
| <section anchor="FLEXALGLINKATTR" | "false" pn="section-12"> | |||
| title="Advertisement of Link Attributes for Flex-Algorithm"> | <name slugifiedName="name-advertisement-of-link-attri">Advertisement of Li | |||
| <t>Various link attributes may be used during the Flex-Algorithm path | nk Attributes for Flex-Algorithm</name> | |||
| <t indent="0" pn="section-12-1">Various link attributes may be used during | ||||
| the Flex-Algorithm path | ||||
| calculation. For example, include or exclude rules based on link | calculation. For example, include or exclude rules based on link | |||
| affinities can be part of the Flex-Algorithm definition as defined in | affinities can be part of the Flex-Algorithm Definition, as defined in Sec | |||
| <xref target="ISISFADLTLVS"/> and <xref target="OSPFFADLTLVS"/>.</t> | tions | |||
| <xref target="ISISFADLTLVS" format="counter" sectionFormat="of" derivedCon | ||||
| <t>Application-specific link attributes, as specified in | tent="6"/> and <xref target="OSPFFADLTLVS" format="counter" sectionFormat="of" d | |||
| <xref target="RFC8919"/> or <xref target="RFC8920"/>, | erivedContent="7"/>.</t> | |||
| that are to be used during Flex-Algorithm calculation MUST use the | <t indent="0" pn="section-12-2">Application-specific link attributes, as s | |||
| pecified in | ||||
| <xref target="RFC8919" format="default" sectionFormat="of" derivedContent= | ||||
| "RFC8919"/> or <xref target="RFC8920" format="default" sectionFormat="of" derive | ||||
| dContent="RFC8920"/>, | ||||
| that are to be used during Flex-Algorithm calculation <bcp14>MUST</bcp14> | ||||
| use the | ||||
| Application-Specific Link Attribute (ASLA) advertisements defined in | Application-Specific Link Attribute (ASLA) advertisements defined in | |||
| <xref target="RFC8919"/> or <xref target="RFC8920"/>, unless, in the case | <xref target="RFC8919" format="default" sectionFormat="of" derivedContent= | |||
| of IS-IS, | "RFC8919"/> or <xref target="RFC8920" format="default" sectionFormat="of" deriv | |||
| the L-Flag is set in the ASLA advertisement. When the L-Flag is set, then | edContent="RFC8920"/> unless, in the case of IS-IS, | |||
| legacy | the L-flag is set in the ASLA advertisement. When the L-flag is set, then | |||
| advertisements MUST be used, subject to the procedures and constraints def | legacy | |||
| ined in | advertisements <bcp14>MUST</bcp14> be used, subject to the procedures and | |||
| [<xref target="RFC8919"/> Section 4.2 and Section 6.</t> | constraints defined in | |||
| <xref target="RFC8919" section="4.2" sectionFormat="of" format="default" d | ||||
| <t>The mandatory use of ASLA advertisements applies to link attributes | erivedLink="https://rfc-editor.org/rfc/rfc8919#section-4.2" derivedContent="RFC8 | |||
| 919"/> and <xref target="ISISFADLTLVS" format="default" sectionFormat="of" deriv | ||||
| edContent="Section 6"/>.</t> | ||||
| <t indent="0" pn="section-12-3">The mandatory use of ASLA advertisements a | ||||
| pplies to link attributes | ||||
| specifically mentioned in this document (Min Unidirectional Link Delay, | specifically mentioned in this document (Min Unidirectional Link Delay, | |||
| TE Default Metric, Administrative Group, Extended Administrative Group | TE Default Metric, Administrative Group, Extended Administrative Group, | |||
| and Shared Risk Link Group) and any other link attributes that may be | and Shared Risk Link Group) and any other link attributes that may be | |||
| used in support of Flex-Algorithm in the future.</t> | used in support of Flex-Algorithm in the future.</t> | |||
| <t indent="0" pn="section-12-4">A new Application Identifier Bit is define | ||||
| <t>A new Application Identifier Bit is defined to indicate that the ASLA | d to indicate that the ASLA | |||
| advertisement is associated with the Flex-Algorithm application. This | advertisement is associated with the Flex-Algorithm application. This | |||
| bit is set in the Standard Application Bit Mask (SABM) defined in <xref | bit is set in the Standard Application Bit Mask (SABM) defined in <xref ta | |||
| target="RFC8919"/> or <xref target="RFC8920"/>: <list style="hanging"> | rget="RFC8919" format="default" sectionFormat="of" derivedContent="RFC8919"/> or | |||
| <t>Bit-3: Flexible Algorithm (X-bit)</t> | <xref target="RFC8920" format="default" sectionFormat="of" derivedContent="RFC8 | |||
| </list></t> | 920"/>: </t> | |||
| <dl newline="false" spacing="normal" indent="3" pn="section-12-5"> | ||||
| <t>ASLA Admin Group Advertisements to be used by the Flexible Algorithm | <dt pn="section-12-5.1">Bit 3:</dt> | |||
| application MAY use either the Administrative Group or Extended | <dd pn="section-12-5.2">Flexible Algorithm (X-bit)</dd> | |||
| </dl> | ||||
| <t indent="0" pn="section-12-6">ASLA Admin Group Advertisements to be used | ||||
| by the Flexible Algorithm | ||||
| application <bcp14>MAY</bcp14> use either the Administrative Group or Exte | ||||
| nded | ||||
| Administrative Group encodings.</t> | Administrative Group encodings.</t> | |||
| <t indent="0" pn="section-12-7">A receiver supporting this specification < | ||||
| <t>A receiver supporting this specification MUST accept both ASLA | bcp14>MUST</bcp14> accept both ASLA | |||
| Administrative Group and Extended Administrative Group TLVs as defined in | Administrative Group and Extended Administrative Group TLVs, as defined in | |||
| <xref target="RFC8919"/> or <xref target="RFC8920"/>. In the case of IS-IS | <xref target="RFC8919" format="default" sectionFormat="of" derivedContent= | |||
| , if | "RFC8919"/> or <xref target="RFC8920" format="default" sectionFormat="of" derive | |||
| the L-Flag is set in ASLA advertisement, as defined in <xref target="RFC89 | dContent="RFC8920"/>. In the case of IS-IS, if | |||
| 19"/> | the L-flag is set in the ASLA advertisement, as defined in <xref target="R | |||
| Section 4.2, then the receiver MUST be able to accept both Administrative | FC8919" section="4.2" sectionFormat="of" format="default" derivedLink="https://r | |||
| Group TLV | fc-editor.org/rfc/rfc8919#section-4.2" derivedContent="RFC8919"/>, then the rece | |||
| as defined in <xref target="RFC5305"/> and Extended Administrative Group T | iver <bcp14>MUST</bcp14> be able to accept both the Administrative Group TLV, | |||
| LV as | as defined in <xref target="RFC5305" format="default" sectionFormat="of" d | |||
| defined in <xref target="RFC7308"/>.</t> | erivedContent="RFC5305"/>, and the Extended Administrative Group TLV, as | |||
| defined in <xref target="RFC7308" format="default" sectionFormat="of" deri | ||||
| </section> | vedContent="RFC7308"/>.</t> | |||
| </section> | ||||
| <section anchor="FLEXALGPATHCALC" | <section anchor="FLEXALGPATHCALC" numbered="true" toc="include" removeInRFC= | |||
| title="Calculation of Flexible Algorithm Paths"> | "false" pn="section-13"> | |||
| <t>A router MUST be configured to participate in a given Flex-Algorithm | <name slugifiedName="name-calculation-of-flexible-alg">Calculation of Flex | |||
| K and MUST select the FAD based on the rules defined in <xref | ible Algorithm Paths</name> | |||
| target="COMMONLEXALGTLV"/> before it can compute any path for that | <t indent="0" pn="section-13-1">A router <bcp14>MUST</bcp14> be configured | |||
| to participate in a given Flex-Algorithm | ||||
| K and <bcp14>MUST</bcp14> select the FAD based on the rules defined in <xr | ||||
| ef target="COMMONLEXALGTLV" format="default" sectionFormat="of" derivedContent=" | ||||
| Section 5.3"/> before it can compute any path for that | ||||
| Flex-Algorithm.</t> | Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-13-2">No specific two-way connectivity check is | ||||
| <t>No specific two-way connectivity check is performed during the Flex-Alg | performed during the Flex-Algorithm | |||
| orithm | path computation. The result of the existing Flex-Algorithm-agnostic, two- | |||
| path computation. The result of the existing, Flex-Algorithm agnostic, two | way | |||
| -way | ||||
| connectivity check is used during the Flex-Algorithm path computation.</t> | connectivity check is used during the Flex-Algorithm path computation.</t> | |||
| <t indent="0" pn="section-13-3">As described in <xref target="FLEXALGPART" | ||||
| <t>As described in <xref target="FLEXALGPART"/>, participation for any | format="default" sectionFormat="of" derivedContent="Section 11"/>, participatio | |||
| particular Flex-Algorithm MUST be advertised on a per data-plane basis. | n for any | |||
| particular Flex-Algorithm <bcp14>MUST</bcp14> be advertised on a per data | ||||
| plane basis. | ||||
| Calculation of the paths for any particular Flex-Algorithm is | Calculation of the paths for any particular Flex-Algorithm is | |||
| data-plane specific.</t> | data plane specific.</t> | |||
| <t indent="0" pn="section-13-4">Multiple data planes <bcp14>MAY</bcp14> us | ||||
| <t>Multiple data-planes MAY use the same Flex-Algorithm value at the | e the same Flex-Algorithm value at the | |||
| same time, and as such, share the FAD for it. Traffic for each data-plane | same time and, as such, share the FAD for it. Traffic for each data plane | |||
| will be forwarded based on the data-plane specific forwarding entries.</t> | will be forwarded based on the data-plane-specific forwarding entries.</t> | |||
| <t indent="0" pn="section-13-5">The Flex-Algorithm Definition is data plan | ||||
| <t>Flex-Algorithm definition is data-plane independent and is used by | e independent and is used by | |||
| all Flex-Algorithm data-planes.</t> | all Flex-Algorithm data planes.</t> | |||
| <t indent="0" pn="section-13-6">The way various data planes handle nodes t | ||||
| <t>The way various data-planes handle nodes that do not participate in | hat do not participate in | |||
| Flexible Algorithm is data-plane specific. If the data-plane only | Flexible Algorithm is data plane specific. If the data plane only | |||
| wants to consider participating nodes during the Flex-Algorithm | wants to consider participating nodes during the Flex-Algorithm | |||
| calculation, then when computing paths for a given Flex-Algorithm, all | calculation, then when computing paths for a given Flex-Algorithm, all | |||
| nodes that do not advertise participation for that Flex-Algorithm in | nodes that do not advertise participation for that Flex-Algorithm in | |||
| their data-plane specific advertisements MUST be pruned from the | their data-plane-specific advertisements <bcp14>MUST</bcp14> be pruned fro m the | |||
| topology. Segment Routing, including both SR-MPLS and SRv6, are | topology. Segment Routing, including both SR-MPLS and SRv6, are | |||
| data-planes that MUST use such pruning when computing Flex-Algorithm | data planes that <bcp14>MUST</bcp14> use such pruning when computing Flex- Algorithm | |||
| paths.</t> | paths.</t> | |||
| <t indent="0" pn="section-13-7">When computing the path for a given Flex-A | ||||
| <t>When computing the path for a given Flex-Algorithm, the metric-type | lgorithm, the metric-type | |||
| that is part of the Flex-Algorithm definition (<xref | that is part of the Flex-Algorithm Definition (<xref target="FLEXALGDEF" f | |||
| target="FLEXALGDEF"/>) MUST be used.</t> | ormat="default" sectionFormat="of" derivedContent="Section 5"/>) <bcp14>MUST</bc | |||
| p14> be used.</t> | ||||
| <t>When computing the path for a given Flex-Algorithm, the | <t indent="0" pn="section-13-8">When computing the path for a given Flex-A | |||
| calculation-type that is part of the Flex-Algorithm definition (<xref | lgorithm, the | |||
| target="FLEXALGDEF"/>) MUST be used.</t> | calculation-type that is part of the Flex-Algorithm Definition (<xref targ | |||
| et="FLEXALGDEF" format="default" sectionFormat="of" derivedContent="Section 5"/> | ||||
| <t>Various link include or exclude rules can be part of the | ) <bcp14>MUST</bcp14> be used.</t> | |||
| Flex-Algorithm definition. To refer to a particular bit within an Admin Gr | <t indent="0" pn="section-13-9">Various links that include or exclude rule | |||
| oup or | s can be part of the | |||
| Extended Admin Group we use the term 'color'.</t> | Flex-Algorithm Definition. To refer to a particular bit within an Admin Gr | |||
| oup or | ||||
| <t>Rules, in the order as specified below, MUST be used to prune links | Extended Admin Group, we use the term "color".</t> | |||
| <t indent="0" pn="section-13-10">Rules, in the order as specified below, < | ||||
| bcp14>MUST</bcp14> be used to prune links | ||||
| from the topology during the Flex-Algorithm computation.</t> | from the topology during the Flex-Algorithm computation.</t> | |||
| <t indent="0" pn="section-13-11">For all links in the topology: </t> | ||||
| <t>For all links in the topology: <list style="hanging"> | <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-13-1 | |||
| <t>1. Check if any exclude AG rule is part of the Flex-Algorithm | 2"> | |||
| definition. If such exclude rule exists, check if any color that is | <li pn="section-13-12.1" derivedCounter="1.">Check if any exclude Admini | |||
| part of the exclude rule is also set on the link. If such a color is | strative Group rule is part of the Flex-Algorithm | |||
| set, the link MUST be pruned from the computation.</t> | Definition. If such exclude rule exists, check if any color that is | |||
| part of the exclude rule is also set on the link. If such a color is | ||||
| <t>2. Check if any exclude SRLG rule is part of the Flex-Algorithm | set, the link <bcp14>MUST</bcp14> be pruned from the computation.</li> | |||
| definition. If such exclude rule exists, check if the link is part | <li pn="section-13-12.2" derivedCounter="2.">Check if any exclude SRLG r | |||
| of any SRLG that is also part of the SRLG exclude rule. If the link | ule is part of the Flex-Algorithm | |||
| is part of such SRLG, the link MUST be pruned from the | Definition. If such exclude rule exists, check if the link is part | |||
| computation.</t> | of any SRLG that is also part of the SRLG exclude rule. If the link | |||
| is part of such SRLG, the link <bcp14>MUST</bcp14> be pruned from the | ||||
| <t>3. Check if any include-any AG rule is part of the Flex-Algorithm | computation.</li> | |||
| definition. If such include-any rule exists, check if any color that | <li pn="section-13-12.3" derivedCounter="3.">Check if any include-any Ad | |||
| is part of the include-any rule is also set on the link. If no such | ministrative Group rule is part of the Flex-Algorithm | |||
| color is set, the link MUST be pruned from the computation.</t> | Definition. If such include-any rule exists, check if any color that | |||
| is part of the include-any rule is also set on the link. If no such | ||||
| <t>4. Check if any include-all AG rule is part of the Flex-Algorithm | color is set, the link <bcp14>MUST</bcp14> be pruned from the computatio | |||
| definition. If such include-all rule exists, check if all colors | n.</li> | |||
| that are part of the include-all rule are also set on the link. If | <li pn="section-13-12.4" derivedCounter="4.">Check if any include-all Ad | |||
| all such colors are not set on the link, the link MUST be pruned | ministrative Group rule is part of the Flex-Algorithm | |||
| from the computation.</t> | Definition. If such include-all rule exists, check if all colors | |||
| that are part of the include-all rule are also set on the link. If | ||||
| <t>5. If the Flex-Algorithm definition uses other than IGP metric | all such colors are not set on the link, the link <bcp14>MUST</bcp14> be | |||
| (<xref target="FLEXALGDEF"/>), and such metric is not advertised for | pruned | |||
| the particular link in a topology for which the computation is done, | from the computation.</li> | |||
| such link MUST be pruned from the computation. A metric of value 0 | <li pn="section-13-12.5" derivedCounter="5.">If the Flex-Algorithm Defin | |||
| MUST NOT be assumed in such a case.</t> | ition uses something other than the IGP metric | |||
| </list></t> | (<xref target="FLEXALGDEF" format="default" sectionFormat="of" derivedCo | |||
| ntent="Section 5"/>), and such metric is not | ||||
| <section anchor="FLEXALGPATHCALCINTER" | advertised for the particular link in a topology for which the computatio | |||
| title="Multi-area and Multi-domain Considerations"> | n is | |||
| <t>Any IGP Shortest Path Tree calculation is limited to a single area. | done, such link <bcp14>MUST</bcp14> be pruned from the computation. A met | |||
| ric of | ||||
| value 0 <bcp14>MUST NOT</bcp14> be assumed in such a case.</li> | ||||
| </ol> | ||||
| <section anchor="FLEXALGPATHCALCINTER" numbered="true" toc="include" remov | ||||
| eInRFC="false" pn="section-13.1"> | ||||
| <name slugifiedName="name-multi-area-and-multi-domain">Multi-area and Mu | ||||
| lti-domain Considerations</name> | ||||
| <t indent="0" pn="section-13.1-1">Any IGP Shortest Path Tree calculation | ||||
| is limited to a single area. | ||||
| This applies to Flex-Algorithm calculations as well. Given that the | This applies to Flex-Algorithm calculations as well. Given that the | |||
| computing router does not have visibility of the topology of the next | computing router does not have visibility of the topology of the next | |||
| areas or domain, the Flex-Algorithm specific path to an inter-area or | areas or domain, the Flex-Algorithm-specific path to an inter-area or | |||
| inter-domain prefix will be computed for the local area only. The | inter-domain prefix will be computed for the local area only. The | |||
| egress L1/L2 router (ABR in OSPF), or ASBR for inter-domain case, will | egress L1/L2 router (ABR in OSPF), or ASBR for an inter-domain case, wil l | |||
| be selected based on the best path for the given Flex-Algorithm in the | be selected based on the best path for the given Flex-Algorithm in the | |||
| local area and such egress ABR or ASBR router will be responsible to | local area, and such egress ABR or ASBR router will be responsible to | |||
| compute the best Flex-Algorithm specific path over the next area or | compute the best Flex-Algorithm-specific path over the next area or | |||
| domain. This may produce an end-to-end path, which is suboptimal | domain. This may produce an end-to-end path, which is suboptimal | |||
| based on Flex-Algorithm constraints. In cases where the ABR or ASBR | based on Flex-Algorithm constraints. In cases where the ABR or ASBR | |||
| has no reachability to a prefix for a given Flex-Algorithm in the next | has no reachability to a prefix for a given Flex-Algorithm in the next | |||
| area or domain, the traffic could be dropped by the ABR/ASBR.</t> | area or domain, the traffic could be dropped by the ABR/ASBR.</t> | |||
| <t indent="0" pn="section-13.1-2">To allow the optimal end-to-end path f | ||||
| <t>To allow the optimal end-to-end path for an inter-area or | or an inter-area or | |||
| inter-domain prefix for any Flex-Algorithm to be computed, the FAPM | inter-domain prefix for any Flex-Algorithm to be computed, the FAPM | |||
| has been defined in <xref target="ISISFLEXMETRIC"/> and <xref | has been defined in Sections <xref target="ISISFLEXMETRIC" format="count | |||
| target="OSPFFLEXMETRIC"/>. For external route calculation for prefixes | er" sectionFormat="of" derivedContent="8"/> | |||
| originated by ASBRs in remote areas in OSPF, the FAAM has been defined | and <xref target="OSPFFLEXMETRIC" format="counter" sectionFormat="of" der | |||
| in <xref target="OSPFFAASBRMETRIC"/> for the ABR to indicate its ASBR | ivedContent="9"/>. For external route | |||
| reachability along with the metric for the specific | calculation for prefixes originated by ASBRs in remote areas in OSPF, the | |||
| FAAM | ||||
| has been defined in <xref target="OSPFFAASBRMETRIC" format="default" sect | ||||
| ionFormat="of" derivedContent="Section 10.2"/> for the | ||||
| ABR to indicate its ASBR reachability along with the metric for the speci | ||||
| fic | ||||
| Flex-Algorithm.</t> | Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-13.1-3">If the FAD selected based on the rules | ||||
| <t>If the FAD selected based on the rules defined in <xref | defined in <xref target="COMMONLEXALGTLV" format="default" sectionFormat="of" d | |||
| target="COMMONLEXALGTLV"/> includes the M-flag, an ABR or ASBR MUST | erivedContent="Section 5.3"/> includes the M-flag, an ABR or an ASBR | |||
| include the FAPM (<xref target="ISISFLEXMETRIC"/>, <xref | <bcp14>MUST</bcp14> include the FAPM (see Sections <xref target="ISISFLEX | |||
| target="OSPFFLEXMETRIC"/>) when advertising the prefix, that is | METRIC" format="counter" sectionFormat="of" derivedContent="8"/> and <xref targe | |||
| reachable in a given Flex-Algorithm, between areas or domains. Such | t="OSPFFLEXMETRIC" format="counter" sectionFormat="of" derivedContent="9"/>) whe | |||
| n | ||||
| advertising the prefix that is | ||||
| reachable in a given Flex-Algorithm between areas or domains. Such | ||||
| metric will be equal to the metric to reach the prefix for that | metric will be equal to the metric to reach the prefix for that | |||
| Flex-Algorithm in its source area or domain. This is similar in nature | Flex-Algorithm in its source area or domain. This is similar in nature | |||
| to how the metric is set when prefixes are advertised between areas or | to how the metric is set when prefixes are advertised between areas or | |||
| domains for the default algorithm. When a prefix is unreachable in its | domains for the default algorithm. When a prefix is unreachable in its | |||
| source area or domain in a specific Flex-Algorithm, then an ABR or | source area or domain in a specific Flex-Algorithm, then an ABR or | |||
| ASBR MUST NOT include the FAPM for that Flex-Algorithm when | ASBR <bcp14>MUST NOT</bcp14> include the FAPM for that Flex-Algorithm wh en | |||
| advertising the prefix between areas or domains.</t> | advertising the prefix between areas or domains.</t> | |||
| <t indent="0" pn="section-13.1-4">If the FAD selected based on the rules | ||||
| <t>If the FAD selected based on the rules defined in <xref | defined in <xref target="COMMONLEXALGTLV" format="default" sectionFormat="of" d | |||
| target="COMMONLEXALGTLV"/> includes the M-flag, the FAPM MUST be used | erivedContent="Section 5.3"/> includes the M-flag, the FAPM <bcp14>MUST</bcp14> | |||
| be used | ||||
| during the calculation of prefix reachability for the inter-area and | during the calculation of prefix reachability for the inter-area and | |||
| external prefixes. If the FAPM for the Flex-Algorithm is not | external prefixes. If the FAPM for the Flex-Algorithm is not | |||
| advertised with the inter-area or external prefix reachability | advertised with the inter-area or external prefix reachability | |||
| advertisement, the prefix MUST be considered as unreachable for that | advertisement, the prefix <bcp14>MUST</bcp14> be considered as unreachab le for that | |||
| Flex-Algorithm. Similarly, in the case of OSPF, for ASBRs in remote | Flex-Algorithm. Similarly, in the case of OSPF, for ASBRs in remote | |||
| areas, if the FAAM is not advertised by the local ABR(s), the ASBR | areas, if the FAAM is not advertised by the local ABR(s), the ASBR | |||
| MUST be considered as unreachable for that Flex-Algorithm and the | <bcp14>MUST</bcp14> be considered as unreachable for that Flex-Algorithm , and the | |||
| external prefix advertisements from such an ASBR are not considered | external prefix advertisements from such an ASBR are not considered | |||
| for that Flex-Algorithm.</t> | for that Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-13.1-5">The Flex-Algorithm prefix metrics and | ||||
| <t>Flex-Algorithm prefix metrics and the OSPF Flex-Algorithm ASBR | the OSPF Flex-Algorithm ASBR | |||
| metrics MUST NOT be used during the Flex-Algorithm computation unless | metrics <bcp14>MUST NOT</bcp14> be used during the Flex-Algorithm comput | |||
| the FAD selected based on the rules defined in <xref | ation | |||
| target="COMMONLEXALGTLV"/> includes the M-Flag, as described in (<xref | unless the FAD selected based on the rules defined in <xref target="COMMO | |||
| target="ISISFLEXALGFLAG"/> or <xref target="OSPFFLEXALGFLAG"/>).</t> | NLEXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.3"/> i | |||
| ncludes the M-flag, as described in | ||||
| <t>In the case of OSPF, when calculating external routes in a | Sections <xref target="ISISFLEXALGFLAG" format="counter" sectionFormat="o | |||
| Flex-Algorithm, if the winning FAD includes the M-Flag, and where the | f" derivedContent="6.4"/> or <xref target="OSPFFLEXALGFLAG" format="counter" sec | |||
| tionFormat="of" derivedContent="7.4"/>.</t> | ||||
| <t indent="0" pn="section-13.1-6">In the case of OSPF, when calculating | ||||
| external routes in a | ||||
| Flex-Algorithm, if the winning FAD includes the M-flag, and the | ||||
| advertising ASBR is in a remote area, the metric will be the sum of | advertising ASBR is in a remote area, the metric will be the sum of | |||
| the following:<list style="symbols"> | the following:</t> | |||
| <t>the FAPM for that Flex-Algorithm advertised with the external | <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1 | |||
| route by the ASBR</t> | 3.1-7"> | |||
| <li pn="section-13.1-7.1">the FAPM for that Flex-Algorithm advertised | ||||
| <t>the metric to reach the ASBR for that Flex-Algorithm from the | with the external | |||
| local ABR i.e., the FAAM for that Flex-Algorithm advertised by the | route by the ASBR</li> | |||
| ABR in the local area for that ASBR</t> | <li pn="section-13.1-7.2">the metric to reach the ASBR for that Flex-A | |||
| lgorithm from the | ||||
| <t>the Flex-Algorithm specific metric to reach the local ABR</t> | local ABR, i.e., the FAAM for that Flex-Algorithm advertised by the | |||
| </list>This is similar in nature to how the metric is calculated for | ABR in the local area for that ASBR</li> | |||
| <li pn="section-13.1-7.3">the Flex-Algorithm-specific metric to reach | ||||
| the local ABR</li> | ||||
| </ul> | ||||
| <t indent="0" pn="section-13.1-8">This is similar in nature to how the m | ||||
| etric is calculated for | ||||
| routes learned from remote ASBRs in the default algorithm using the | routes learned from remote ASBRs in the default algorithm using the | |||
| OSPFv2 Type 4 ASBR Summary LSA and the OSPFv3 Inter-Area-Router | OSPFv2 Type 4 ASBR summary-LSA and the OSPFv3 Inter-Area-Router-LSA.</t> | |||
| LSA.</t> | <t indent="0" pn="section-13.1-9">If the FAD selected based on the rules | |||
| defined in <xref target="COMMONLEXALGTLV" format="default" sectionFormat="of" d | ||||
| <t>If the FAD selected based on the rules defined in <xref | erivedContent="Section 5.3"/> does not include the M-flag, then the IGP | |||
| target="COMMONLEXALGTLV"/> does not include the M-flag, then the IGP | ||||
| metrics associated with the prefix reachability advertisements used by | metrics associated with the prefix reachability advertisements used by | |||
| the base IS-IS and OSPF protocol MUST be used for the Flex-Algorithm | the base IS-IS and OSPF protocol <bcp14>MUST</bcp14> be used for the Fle x-Algorithm | |||
| route computation. Similarly, in the case of external route | route computation. Similarly, in the case of external route | |||
| calculations in OSPF, the ASBR reachability is determined based on the | calculations in OSPF, the ASBR reachability is determined based on the | |||
| base OSPFv2 Type 4 Summary LSA and the OSFPv3 Inter-Area-Router | base OSPFv2 Type 4 summary-LSA and the OSFPv3 Inter-Area-Router-LSA.</t> | |||
| LSA.</t> | <t indent="0" pn="section-13.1-10">It is <bcp14>NOT RECOMMENDED</bcp14> | |||
| to use the Flex-Algorithm for inter-area or | ||||
| <t>It is NOT RECOMMENDED to use the Flex-Algorithm for inter-area or | ||||
| inter-domain prefix reachability without the M-flag set. The reason is | inter-domain prefix reachability without the M-flag set. The reason is | |||
| that without the explicit Flex-Algorithm Prefix Metric advertisement | that, without the explicit Flex-Algorithm prefix metric advertisement | |||
| (and the Flex-Algorithm ASBR metric advertisement in the case of OSPF | (and the Flex-Algorithm ASBR metric advertisement in the case of OSPF | |||
| external route calculation), it is not possible to conclude whether | external route calculation), it is not possible to conclude whether | |||
| the ABR or ASBR has reachability to the inter-area or inter-domain | the ABR or ASBR has reachability to the inter-area or inter-domain | |||
| prefix for a given Flex-Algorithm in the next area or domain. Sending | prefix for a given Flex-Algorithm in the next area or domain. Sending | |||
| the Flex-Algorithm traffic for such a prefix towards the ABR or ASBR may | the Flex-Algorithm traffic for such a prefix towards the ABR or ASBR may | |||
| result in traffic looping or persistent traffic drop.</t> | result in traffic looping or persistent traffic drop.</t> | |||
| <t indent="0" pn="section-13.1-11">During the route computation, it is p | ||||
| <t>During the route computation, it is possible for the Flex-Algorithm | ossible for the Flex-Algorithm-specific | |||
| specific metric to exceed the maximum value that can be stored in an | metric to exceed the maximum value that can be stored in an | |||
| unsigned 32-bit variable. In such scenarios, the value MUST be | unsigned 32-bit variable. In such scenarios, the value <bcp14>MUST</bcp1 | |||
| 4> be | ||||
| considered to be of value 0xFFFFFFFF during the computation and | considered to be of value 0xFFFFFFFF during the computation and | |||
| advertised as such.</t> | advertised as such.</t> | |||
| <t indent="0" pn="section-13.1-12">The FAPM <bcp14>MUST NOT</bcp14> be a | ||||
| <t>The FAPM MUST NOT be advertised with IS-IS L1 or L2 intra-area, | dvertised with IS-IS L1 or L2 intra-area, | |||
| OSPFv2 intra-area, or OSPFv3 intra-area routes. If the FAPM is | OSPFv2 intra-area, or OSPFv3 intra-area routes. If the FAPM is | |||
| advertised for these route-types, it MUST be ignored during the prefix | advertised for these route-types, it <bcp14>MUST</bcp14> be ignored duri ng the prefix | |||
| reachability calculation.</t> | reachability calculation.</t> | |||
| <t indent="0" pn="section-13.1-13">The M-flag in the FAD is not applicab | ||||
| <t>The M-flag in the FAD is not applicable to prefixes advertised as SRv | le to prefixes advertised as SRv6 | |||
| 6 | locators. The IS-IS SRv6 Locator TLV <xref target="RFC9352" format="defa | |||
| locators. The IS-IS SRv6 Locator TLV <xref | ult" sectionFormat="of" derivedContent="RFC9352"/> includes the Algorithm | |||
| target="I-D.ietf-lsr-isis-srv6-extensions"/> includes the Algorithm | ||||
| and Metric fields. When the SRv6 Locator is advertised between areas | and Metric fields. When the SRv6 Locator is advertised between areas | |||
| or domains, the metric field in the Locator TLV of IS-IS MUST be used | or domains, the Metric field in the Locator TLV of IS-IS <bcp14>MUST</bc p14> be used | |||
| irrespective of the M-flag in the FAD advertisement.</t> | irrespective of the M-flag in the FAD advertisement.</t> | |||
| <t indent="0" pn="section-13.1-14">OSPF external and NSSA external prefi | ||||
| <t>OSPF external and NSSA external prefix advertisements MAY include a | x advertisements <bcp14>MAY</bcp14> include a | |||
| non-zero forwarding address in the prefix advertisements in the base | non-zero forwarding address in the prefix advertisements in the base | |||
| protocol. In such a scenario, the Flex-Algorithm specific reachability | protocol. In such a scenario, the Flex-Algorithm-specific reachability | |||
| of the external prefix is determined by Flex-Algorithm specific | of the external prefix is determined by Flex-Algorithm-specific | |||
| reachability of the forwarding address.</t> | reachability of the forwarding address.</t> | |||
| <t indent="0" pn="section-13.1-15">In OSPF, the procedures for translati | ||||
| <t>In OSPF, the procedures for translation of NSSA external prefix | on of NSSA external prefix | |||
| advertisements into external prefix advertisements performed by an | advertisements into external prefix advertisements performed by an | |||
| NSSA ABR <xref target="RFC3101"/> remain unchanged for Flex-Algorithm. | NSSA ABR <xref target="RFC3101" format="default" sectionFormat="of" deri | |||
| An NSSA translator MUST include the OSPF FAPM Sub-TLVs for all | vedContent="RFC3101"/> remain unchanged for Flex-Algorithm. | |||
| An NSSA translator <bcp14>MUST</bcp14> include the OSPF FAPM sub-TLVs fo | ||||
| r all | ||||
| Flex-Algorithms that are in the original NSSA external prefix | Flex-Algorithms that are in the original NSSA external prefix | |||
| advertisement from the NSSA ASBR in the translated external prefix | advertisement from the NSSA ASBR in the translated external prefix | |||
| advertisement generated by it regardless of its participation in those | advertisement generated by it, regardless of its participation in those | |||
| Flex-Algorithms or its having reachability to the NSSA ASBR in those | Flex-Algorithms or its having reachability to the NSSA ASBR in those | |||
| Flex-Algorithms.</t> | Flex-Algorithms.</t> | |||
| <t indent="0" pn="section-13.1-16">An area could become partitioned from | ||||
| <t>An area could become partitioned from the perspective of the Flex-Alg | the perspective of the Flex-Algorithm | |||
| orithm | due to the constraints and/or metric being used for it while maintaining | |||
| due to the constraints and/or metric being used for it, while maintainin | the | |||
| g the | ||||
| continuity in the base algorithm. When that happens, some destinations i nside that area | continuity in the base algorithm. When that happens, some destinations i nside that area | |||
| could become unreachable in that Flex-Algorithm. These destinations will not be able | could become unreachable in that Flex-Algorithm. These destinations will not be able | |||
| to use an inter-area path. This is the consequence of the fact that the | to use an inter-area path. This is the consequence of the fact that the | |||
| inter-area prefix reachability advertisement would not be available for these | inter-area prefix reachability advertisement would not be available for these | |||
| intra-area destinations within the area. It is RECOMMENDED to minimize t he risk of | intra-area destinations within the area. It is <bcp14>RECOMMENDED</bcp14 > to minimize the risk of | |||
| such partitioning by providing enough redundancy inside the area for eac h | such partitioning by providing enough redundancy inside the area for eac h | |||
| Flex-Algorithm being used.</t> | Flex-Algorithm being used.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="FLEXALFORW" numbered="true" toc="include" removeInRFC="fals | ||||
| <section anchor="FLEXALFORW" title="Flex-Algorithm and Forwarding Plane"> | e" pn="section-14"> | |||
| <t>This section describes how Flex-Algorithm paths are used in | <name slugifiedName="name-flex-algorithm-and-forwardi">Flex-Algorithm and | |||
| Forwarding Plane</name> | ||||
| <t indent="0" pn="section-14-1">This section describes how Flex-Algorithm | ||||
| paths are used in | ||||
| forwarding.</t> | forwarding.</t> | |||
| <section anchor="FLEXALGPSRFORW" numbered="true" toc="include" removeInRFC | ||||
| <section anchor="FLEXALGPSRFORW" | ="false" pn="section-14.1"> | |||
| title="Segment Routing MPLS Forwarding for Flex-Algorithm"> | <name slugifiedName="name-segment-routing-mpls-forwar">Segment Routing M | |||
| <t>This section describes how Flex-Algorithm paths are used with SR | PLS Forwarding for Flex-Algorithm</name> | |||
| <t indent="0" pn="section-14.1-1">This section describes how Flex-Algori | ||||
| thm paths are used with SR | ||||
| MPLS forwarding.</t> | MPLS forwarding.</t> | |||
| <t indent="0" pn="section-14.1-2">Prefix-SID advertisements include an S | ||||
| <t>Prefix SID advertisements include an SR-Algorithm value and, as | R-Algorithm value and, as | |||
| such, are associated with the specified SR-Algorithm. Prefix-SIDs are | such, are associated with the specified SR-Algorithm. Prefix-SIDs are | |||
| also associated with a specific topology which is inherited from the | also associated with a specific topology that is inherited from the | |||
| associated prefix reachability advertisement. When the algorithm value | associated prefix reachability advertisement. When the algorithm value | |||
| advertised is a Flex-Algorithm value, the Prefix SID is associated | advertised is a Flex-Algorithm value, the Prefix-SID is associated | |||
| with paths calculated using that Flex-Algorithm in the associated | with paths calculated using that Flex-Algorithm in the associated | |||
| topology.</t> | topology.</t> | |||
| <t indent="0" pn="section-14.1-3">A Flex-Algorithm path <bcp14>MUST</bcp | ||||
| <t>A Flex-Algorithm path MUST be installed in the MPLS forwarding | 14> be installed in the MPLS forwarding | |||
| plane using the MPLS label that corresponds to the Prefix-SID that was | plane using the MPLS label that corresponds to the Prefix-SID that was | |||
| advertised for that Flex-algorithm. If the Prefix SID for a given | advertised for that Flex-algorithm. If the Prefix-SID for a given | |||
| Flex-algorithm is not known, the Flex-Algorithm specific path cannot | Flex-Algorithm is not known, the Flex-Algorithm-specific path cannot | |||
| be installed in the MPLS forwarding plane.</t> | be installed in the MPLS forwarding plane.</t> | |||
| <t indent="0" pn="section-14.1-4">Traffic that is supposed to be routed | ||||
| <t>Traffic that is supposed to be routed via Flex-Algorithm specific | via Flex-Algorithm-specific | |||
| paths MUST be dropped when there are no such paths available.</t> | paths <bcp14>MUST</bcp14> be dropped when there are no such paths availa | |||
| ble.</t> | ||||
| <t>Loop Free Alternate (LFA) paths (<xref target="RFC6571"/> or its vari | <t indent="0" pn="section-14.1-5">Loop Free Alternate (LFA) paths (<xref | |||
| ants) | target="RFC6571" format="default" sectionFormat="of" derivedContent="RFC6571"/> | |||
| for a given Flex-Algorithm MUST be computed using the same constraints a | or its variants) | |||
| s the | for a given Flex-Algorithm <bcp14>MUST</bcp14> be computed using the sam | |||
| calculation of the primary paths for that Flex-Algorithm. LFA paths MUST | e constraints as the | |||
| only | calculation of the primary paths for that Flex-Algorithm. LFA paths <bcp | |||
| use Prefix-SIDs advertised specifically for the given algorithm. LFA pat | 14>MUST</bcp14> only | |||
| hs MUST NOT | use Prefix-SIDs advertised specifically for the given algorithm. LFA pat | |||
| use an Adjacency-SID that belongs to a link that has been pruned from | hs <bcp14>MUST NOT</bcp14> | |||
| use an Adjacency SID that belongs to a link that has been pruned from | ||||
| the Flex-Algorithm computation.</t> | the Flex-Algorithm computation.</t> | |||
| <t indent="0" pn="section-14.1-6">If LFA protection is being used to pro | ||||
| <t>If LFA protection is being used to protect a given Flex-Algorithm | tect a given Flex-Algorithm | |||
| paths, all routers in the area participating in the given | path, all routers in the area participating in the given | |||
| Flex-Algorithm SHOULD advertise at least one Flex-Algorithm specific | Flex-Algorithm <bcp14>SHOULD</bcp14> advertise at least one | |||
| Node-SID. These Node-SIDs are used to steer traffic over the LFA | Flex-Algorithm-specific Node-SID. These Node-SIDs are used to steer traff | |||
| computed backup path.</t> | ic over | |||
| the LFA-computed backup path.</t> | ||||
| </section> | </section> | |||
| <section anchor="FLEXALGPSRV6FORW" numbered="true" toc="include" removeInR | ||||
| <section anchor="FLEXALGPSRV6FORW" | FC="false" pn="section-14.2"> | |||
| title="SRv6 Forwarding for Flex-Algorithm"> | <name slugifiedName="name-srv6-forwarding-for-flex-al">SRv6 Forwarding f | |||
| <t>This section describes how Flex-Algorithm paths are used with SRv6 | or Flex-Algorithm</name> | |||
| <t indent="0" pn="section-14.2-1">This section describes how Flex-Algori | ||||
| thm paths are used with SRv6 | ||||
| forwarding.</t> | forwarding.</t> | |||
| <t indent="0" pn="section-14.2-2">In SRv6, a node is provisioned with a | ||||
| <t>In SRv6 a node is provisioned with a (topology, algorithm) specific | (topology, algorithm) specific | |||
| locator for each of the topology/algorithm pairs supported by that | locator for each of the topology/algorithm pairs supported by that | |||
| node. Each locator is an aggregate prefix for all SIDs provisioned on | node. Each locator is an aggregate prefix for all SIDs provisioned on | |||
| that node which have the matching topology/algorithm.</t> | that node that have the matching topology/algorithm.</t> | |||
| <t indent="0" pn="section-14.2-3">The SRv6 locator advertisement in IS-I | ||||
| <t>The SRv6 locator advertisement in IS-IS <xref | S <xref target="RFC9352" format="default" sectionFormat="of" derivedContent="RFC | |||
| target="I-D.ietf-lsr-isis-srv6-extensions"/> includes the MTID value | 9352"/> includes the Multi-Topology Identifier (MTID) value | |||
| that associates the locator with a specific topology. SRv6 locator | that associates the locator with a specific topology. SRv6 locator | |||
| advertisements also includes an Algorithm value that explicitly | advertisements also include an algorithm value that explicitly | |||
| associates the locator with a specific algorithm. When the algorithm | associates the locator with a specific algorithm. When the algorithm | |||
| value advertised with a locator represents a Flex-Algorithm, the paths | value advertised with a locator represents a Flex-Algorithm, the paths | |||
| to the locator prefix MUST be calculated using the specified | to the locator prefix <bcp14>MUST</bcp14> be calculated using the specif ied | |||
| Flex-Algorithm in the associated topology.</t> | Flex-Algorithm in the associated topology.</t> | |||
| <t indent="0" pn="section-14.2-4">Forwarding entries for the locator pre | ||||
| <t>Forwarding entries for the locator prefixes advertised in IS-IS MUST | fixes advertised in IS-IS <bcp14>MUST</bcp14> | |||
| be installed in the forwarding plane of the receiving SRv6 capable | be installed in the forwarding plane of the receiving SRv6-capable | |||
| routers when the associated topology/algorithm is participating in | routers when the associated topology/algorithm is participating in | |||
| them. Forwarding entries for locators associated with Flex-Algorithms | them. Forwarding entries for locators associated with Flex-Algorithms | |||
| in which the node is not participating MUST NOT be installed in the | in which the node is not participating <bcp14>MUST NOT</bcp14> be instal led in the | |||
| forwarding plane.</t> | forwarding plane.</t> | |||
| <t indent="0" pn="section-14.2-5">When the locator is associated with a | ||||
| <t>When the locator is associated with a Flex-Algorithm, LFA paths to | Flex-Algorithm, LFA paths to | |||
| the locator prefix MUST be calculated using such Flex-Algorithm in the | the locator prefix <bcp14>MUST</bcp14> be calculated using such Flex-Alg | |||
| associated topology, to guarantee that they follow the same | orithm in the | |||
| constraints as the calculation of the primary paths. LFA paths MUST | associated topology to guarantee that they follow the same | |||
| constraints as the calculation of the primary paths. LFA paths <bcp14>MU | ||||
| ST</bcp14> | ||||
| only use SRv6 SIDs advertised specifically for the given | only use SRv6 SIDs advertised specifically for the given | |||
| Flex-Algorithm.</t> | Flex-Algorithm.</t> | |||
| <t indent="0" pn="section-14.2-6">If LFA protection is being used to pro | ||||
| <t>If LFA protection is being used to protect locators associated with | tect locators associated with | |||
| a given Flex-Algorithm, all routers in the area participating in the | a given Flex-Algorithm, all routers in the area participating in the | |||
| given Flex-Algorithm SHOULD advertise at least one Flex-Algorithm | given Flex-Algorithm <bcp14>SHOULD</bcp14> advertise at least one | |||
| specific locator and END SID per node and one END.X SID for every link | Flex-Algorithm-specific locator and END SID per node and one END.X SID fo | |||
| that has not been pruned from such Flex-Algorithm computation. These | r every | |||
| link that has not been pruned from such Flex-Algorithm computation. These | ||||
| locators and SIDs are used to steer traffic over the LFA-computed | locators and SIDs are used to steer traffic over the LFA-computed | |||
| backup path.</t> | backup path.</t> | |||
| </section> | </section> | |||
| <section anchor="FLEXALGPSRFORWOTHER" numbered="true" toc="include" remove | ||||
| <section anchor="FLEXALGPSRFORWOTHER" | InRFC="false" pn="section-14.3"> | |||
| title="Other Data-planes' Forwarding for Flex-Algorithm"> | <name slugifiedName="name-other-data-planes-forwardin">Other Data Planes | |||
| <t>Any data-plane that wants to use Flex-Algorithm specific | ' Forwarding for Flex-Algorithm</name> | |||
| forwarding needs to install some form of Flex-Algorithm specific | <t indent="0" pn="section-14.3-1">Any data plane that wants to use Flex- | |||
| Algorithm-specific | ||||
| forwarding needs to install some form of Flex-Algorithm-specific | ||||
| forwarding entries.</t> | forwarding entries.</t> | |||
| <t indent="0" pn="section-14.3-2">Data-plane-specific forwarding for Fle | ||||
| <t>Data-plane specific forwarding for Flex-Algorithm MUST be defined | x-Algorithms <bcp14>MUST</bcp14> be defined | |||
| for each data-plane and is outside the scope of this document.</t> | for each data plane and is outside the scope of this document.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-15"> | ||||
| <section title="Operational Considerations"> | <name slugifiedName="name-operational-considerations">Operational Consider | |||
| <section title="Inter-area Considerations"> | ations</name> | |||
| <t>The scope of the Flex-Algorithm computation is an area, so is the sco | <section numbered="true" toc="include" removeInRFC="false" pn="section-15. | |||
| pe of the | 1"> | |||
| FAD. In IS-IS, the Router Capability TLV in which the FAD Sub-TLV is | <name slugifiedName="name-inter-area-considerations">Inter-area Consider | |||
| advertised MUST have the S-bit clear, which prevents it from being flood | ations</name> | |||
| ed | <t indent="0" pn="section-15.1-1">The scope of the Flex-Algorithm comput | |||
| ation and the scope of the | ||||
| FAD is an area. In IS-IS, the Router Capability TLV in which the FAD sub | ||||
| -TLV is | ||||
| advertised <bcp14>MUST</bcp14> have the S bit clear, which prevents it f | ||||
| rom being flooded | ||||
| outside the level in which it was originated. Even though in OSPF | outside the level in which it was originated. Even though in OSPF | |||
| the FAD Sub-TLV can be flooded in an RI LSA that has AS flooding | the FAD sub-TLV can be flooded in an RI LSA that has an AS flooding | |||
| scope, the FAD selection is performed for each individual area in | scope, the FAD selection is performed for each individual area in | |||
| which it is being used.</t> | which it is being used.</t> | |||
| <t indent="0" pn="section-15.1-2">There is no requirement for the FAD fo | ||||
| <t>There is no requirement for the FAD for a particular Flex-Algorithm | r a particular Flex-Algorithm | |||
| to be identical in all areas in the network. For example, traffic for | to be identical in all areas in the network. For example, traffic for | |||
| the same Flex-Algorithm may be optimized for minimal delay (e.g., | the same Flex-Algorithm may be optimized for minimal delay (e.g., | |||
| using delay metric) in one area or level, while being optimized for | using delay metric) in one area or level while being optimized for | |||
| available bandwidth (e.g., using IGP metric) in another area or | available bandwidth (e.g., using IGP metric) in another area or | |||
| level.</t> | level.</t> | |||
| <t indent="0" pn="section-15.1-3">As described in <xref target="ISISFLEX | ||||
| <t>As described in <xref target="ISISFLEXALGTLV"/>, IS-IS allows the | ALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.1"/>, IS-I | |||
| re-generation of the winning FAD from level 2, without any | S allows the | |||
| regeneration of the winning FAD from level 2, without any | ||||
| modification to it, into a level 1 area. This allows the operator to | modification to it, into a level 1 area. This allows the operator to | |||
| configure the FAD in one or multiple routers in the level 2, without | configure the FAD in one or multiple routers in level 2, without | |||
| the need to repeat the same task in each level 1 area, if the intent | the need to repeat the same task in each level 1 area, if the intent | |||
| is to have the same FAD for the particular Flex-Algorithm across all | is to have the same FAD for the particular Flex-Algorithm across all | |||
| levels. This can similarly be achieved in OSPF by using the AS | levels. This can similarly be achieved in OSPF by using the AS | |||
| flooding scope of the RI LSA in which the FAD Sub-TLV for the | flooding scope of the RI LSA in which the FAD sub-TLV for the | |||
| particular Flex-Algoritm is advertised.</t> | particular Flex-Algorithm is advertised.</t> | |||
| <t indent="0" pn="section-15.1-4">Regeneration of the FAD from a level 1 | ||||
| <t>Re-generation of the FAD from a level 1 area to the level 2 area is n | area to the level 2 area is not | |||
| ot | ||||
| supported in IS-IS, so if the intent is to regenerate the FAD between | supported in IS-IS, so if the intent is to regenerate the FAD between | |||
| IS-IS levels, the FAD MUST be defined on router(s) that are in level 2. | IS-IS levels, the FAD <bcp14>MUST</bcp14> be defined on a router(s) that | |||
| In OSPF, the FAD definition can be done in any area and be propagated | is in level 2. | |||
| In OSPF, the FAD definition can be done in any area and propagated | ||||
| to all routers in the OSPF routing domain by using the AS flooding | to all routers in the OSPF routing domain by using the AS flooding | |||
| scope of the RI LSA.</t> | scope of the RI LSA.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-15. | ||||
| <section title="Usage of SRLG Exclude Rule with Flex-Algorithm"> | 2"> | |||
| <t>There are two different ways in which SRLG information can be used | <name slugifiedName="name-usage-of-the-srlg-exclude-r">Usage of the SRLG | |||
| with Flex-Algorithm: <list style="hanging"> | Exclude Rule with Flex-Algorithm</name> | |||
| <t>In a context of a single Flex-Algorithm, it can be used for | <t indent="0" pn="section-15.2-1">There are two different ways in which | |||
| computation of backup paths, as described in <xref | SRLG information can be used | |||
| target="I-D.ietf-rtgwg-segment-routing-ti-lfa"/>. This usage does | with Flex-Algorithms: </t> | |||
| not require association of any specific SRLG constraint with the | <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1 | |||
| given Flex-Algorithm definition.</t> | 5.2-2"> | |||
| <li pn="section-15.2-2.1">In a context of a single Flex-Algorithm, it | ||||
| <t>In the context of multiple Flex-Algorithms, it can be used for | can be used for | |||
| computation of backup paths, as described in <xref target="I-D.ietf-rt | ||||
| gwg-segment-routing-ti-lfa" format="default" sectionFormat="of" derivedContent=" | ||||
| RTGWG-SEGMENT-ROUTING-TI-LFA"/>. This usage | ||||
| does not require association of any specific SRLG constraint with the | ||||
| given Flex-Algorithm Definition.</li> | ||||
| <li pn="section-15.2-2.2"> | ||||
| <t indent="0" pn="section-15.2-2.2.1">In the context of multiple Fle | ||||
| x-Algorithms, it can be used for | ||||
| creating disjoint sets of paths by pruning the links belonging to | creating disjoint sets of paths by pruning the links belonging to | |||
| a specific SRLG from the topology on which a specific | a specific SRLG from the topology on which a specific | |||
| Flex-Algorithm computes its paths. This usage: <list | Flex-Algorithm computes its paths. This usage: </t> | |||
| style="hanging"> | <ul spacing="normal" bare="false" empty="false" indent="3" pn="secti | |||
| <t>Facilitates the usage of already deployed SRLG | on-15.2-2.2.2"> | |||
| configurations for setup of disjoint paths between two or more | <li pn="section-15.2-2.2.2.1">facilitates the usage of already dep | |||
| Flex-Algorithms.</t> | loyed SRLG | |||
| configurations for the setup of disjoint paths between two or more | ||||
| <t>Requires explicit association of a given Flex-Algorithm | Flex-Algorithms and</li> | |||
| with a specific set of SRLG constraints as defined in <xref | <li pn="section-15.2-2.2.2.2">requires explicit association of a g | |||
| target="ISISFLEXALGEXSRLGTLV"/> and <xref | iven Flex-Algorithm | |||
| target="OSPFFLEXALGEXSRLGTLV"/>.</t> | with a specific set of SRLG constraints, as defined in Sections <x | |||
| </list></t> | ref target="ISISFLEXALGEXSRLGTLV" format="counter" sectionFormat="of" derivedCon | |||
| </list></t> | tent="6.5"/> and <xref target="OSPFFLEXALGEXSRLGTLV" format="counter" sectionFor | |||
| mat="of" derivedContent="7.5"/>.</li> | ||||
| <t>The two usages mentioned above are orthogonal.</t> | </ul> | |||
| </li> | ||||
| </ul> | ||||
| <t indent="0" pn="section-15.2-3">The two usages mentioned above are ort | ||||
| hogonal.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-15. | ||||
| <section title="Max-metric consideration"> | 3"> | |||
| <t>Both IS-IS and OSPF have a mechanism to set the IGP metric on a link | <name slugifiedName="name-max-metric-consideration">Max-Metric Considera | |||
| to a value that would make the link either non-reachable or to serve | tion</name> | |||
| <t indent="0" pn="section-15.3-1">Both IS-IS and OSPF have a mechanism t | ||||
| o set the IGP metric on a link | ||||
| to a value that would make the link either unreachable or serve | ||||
| as the link of last resort. Similar functionality would be needed for | as the link of last resort. Similar functionality would be needed for | |||
| the Min Unidirectional Link Delay and TE metric, as these can be used | the Min Unidirectional Link Delay and TE metric, as these can be used | |||
| to compute Flex-Algorithm paths.</t> | to compute Flex-Algorithm paths.</t> | |||
| <t indent="0" pn="section-15.3-2">The link can be made unreachable for a | ||||
| <t>The link can be made un-reachable for all Flex-Algorithms that use | ll Flex-Algorithms that use the | |||
| Min Unidirectional Link Delay as metric, as described in <xref | Min Unidirectional Link Delay as a metric, as described in <xref target= | |||
| target="ISISFLEXALGTLV"/>, by removing the Flex-Algorithm ASLA Min | "ISISFLEXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.1 | |||
| "/>, by removing the Flex-Algorithm ASLA Min | ||||
| Unidirectional Link Delay advertisement for the link. The link can be | Unidirectional Link Delay advertisement for the link. The link can be | |||
| made the link of last resort by setting the delay value in the | made the link of last resort by setting the delay value in the | |||
| Flex-Algorithm ASLA delay advertisement for the link to the value of | Flex-Algorithm ASLA delay advertisement for the link to the value of | |||
| 16,777,215 (2^24 - 1).</t> | 16,777,215 (2<sup>24</sup> - 1).</t> | |||
| <t indent="0" pn="section-15.3-3">The link can be made unreachable for a | ||||
| <t>The link can be made un-reachable for all Flex-Algorithms that use | ll Flex-Algorithms that use the | |||
| TE metric, as described in <xref target="ISISFLEXALGTLV"/>, by | TE metric, as described in <xref target="ISISFLEXALGTLV" format="default | |||
| " sectionFormat="of" derivedContent="Section 5.1"/>, by | ||||
| removing the Flex-Algorithm ASLA TE metric advertisement for the link. | removing the Flex-Algorithm ASLA TE metric advertisement for the link. | |||
| The link can be made the link of last resort by setting the TE metric | The link can be made the link of last resort by setting the TE metric | |||
| value in the Flex-Algorithm ASLA delay advertisement for the link to | value in the Flex-Algorithm ASLA delay advertisement for the link to | |||
| the value of (2^24 - 1) in IS-IS and (2^32 - 1) in OSPF.</t> | the value of (2<sup>24</sup> - 1) in IS-IS and (2<sup>32</sup> - 1) in O SPF.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-15. | ||||
| <section title="FAD Definition and Changes"> | 4"> | |||
| <name slugifiedName="name-flexible-algorithm-definitio">Flexible Algorit | ||||
| <t>When configuring a node to participate in a specific Flex-Algorithm, | hm Definition and Changes</name> | |||
| the components of the FAD (calculation-type, metric-type, constraints) | <t indent="0" pn="section-15.4-1">When configuring a node to participate | |||
| in a specific Flex-Algorithm, | ||||
| the components of the FAD (calculation-type, metric-type, and constraints) | ||||
| should be considered carefully. The configuration of participation in a pa rticular | should be considered carefully. The configuration of participation in a pa rticular | |||
| Flex-Algorithm doesn't guarantee that the node will actively participate i n it, | Flex-Algorithm doesn't guarantee that the node will actively participate i n it, | |||
| because it may not support the calculation-type, metric type or some const | because it may not support the calculation-type, the metric-type, or some | |||
| raint | constraint advertised by the winning FAD (see <xref target="COMMONLEXALGTL | |||
| advertised by the winning FAD (see <xref target="COMMONLEXALGTLV"/>). Chan | V" format="default" sectionFormat="of" derivedContent="Section 5.3"/>). Changes | |||
| ges in | in | |||
| the FAD configuration should also be considered in light of the capabiliti es of | the FAD configuration should also be considered in light of the capabiliti es of | |||
| the participating routers in the scope of the FAD advertisement.</t> | the participating routers in the scope of the FAD advertisement.</t> | |||
| <t indent="0" pn="section-15.4-2">As <xref target="COMMONLEXALGTLV" form | ||||
| <t>As <xref target="COMMONLEXALGTLV"/> notes, a change in the Flex-Algorit | at="default" sectionFormat="of" derivedContent="Section 5.3"/> notes, a change i | |||
| hm | n the Flex-Algorithm | |||
| definition may require network-wide SPF re-computation and network re-conv | Definition may require network-wide Shortest Path First (SPF) recomputatio | |||
| ergence. | n and network reconvergence. | |||
| This potential for disruption should be taken into consideration when plan ning | This potential for disruption should be taken into consideration when plan ning | |||
| and making changes to the FAD.</t> | and making changes to the FAD.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-15. | ||||
| <section title="Number of Flex-Algorithms"> | 5"> | |||
| <t>The maximum number of Flex-Algorithms is determined by the algorithm ra | <name slugifiedName="name-number-of-flex-algorithms">Number of Flex-Algo | |||
| nge | rithms</name> | |||
| that is (128-255), as specified in <xref target="FLEXALG"/>. Although poss | <t indent="0" pn="section-15.5-1">The maximum number of Flex-Algorithms | |||
| ible, | is determined by the algorithm range | |||
| 128-255, as specified in <xref target="FLEXALG" format="default" sectionFo | ||||
| rmat="of" derivedContent="Section 4"/>. Although possible, | ||||
| it is not expected that all of them will be used simultaneously. Typically , | it is not expected that all of them will be used simultaneously. Typically , | |||
| only a limited subset of Flex-Algorithms is expected to be deployed in the network.</t> | only a limited subset of Flex-Algorithms is expected to be deployed in the network.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-16"> | ||||
| <section title="Backward Compatibility"> | <name slugifiedName="name-backward-compatibility">Backward Compatibility</ | |||
| <t>This extension brings no new backward compatibility issues. IS-IS, | name> | |||
| OSPFv2 and OSPFv3 all have well-defined handling of unrecognized TLVs | <t indent="0" pn="section-16-1">This extension brings no new backward-comp | |||
| atibility issues. IS-IS, | ||||
| OSPFv2, and OSPFv3 all have well-defined handling of unrecognized TLVs | ||||
| and sub-TLVs that allows the introduction of new extensions, similar | and sub-TLVs that allows the introduction of new extensions, similar | |||
| to those defined here, without introducing any interoperability | to those defined here, without introducing any interoperability | |||
| issues.</t> | issues.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-17"> | ||||
| <section title="Security Considerations"> | <name slugifiedName="name-security-considerations">Security Considerations | |||
| <t>This draft adds two new ways to disrupt IGP networks: <list | </name> | |||
| style="hanging"> | <t indent="0" pn="section-17-1">This document adds two new ways to disrupt | |||
| <t>An attacker can hijack a particular Flex-Algorithm by advertising | IGP networks: </t> | |||
| a FAD with a priority of 255 (or any priority higher than that of | <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-17- | |||
| the legitimate nodes).</t> | 2"> | |||
| <li pn="section-17-2.1">An attacker can hijack a particular Flex-Algorit | ||||
| <t>An attacker could make it look like a router supports a | hm by advertising | |||
| particular Flex-Algorithm when it actually doesn't, or vice | a FAD with a priority of 255 (or any priority higher than that of | |||
| versa.</t> | the legitimate nodes).</li> | |||
| </list></t> | <li pn="section-17-2.2">An attacker could make it look like a router sup | |||
| ports a | ||||
| <t>Both of these attacks can be addressed by the existing security | particular Flex-Algorithm when it actually doesn't, or vice | |||
| extensions as described in <xref target="RFC5304"/> and <xref | versa.</li> | |||
| target="RFC5310"/> for IS-IS, in <xref target="RFC2328"/> and <xref | </ul> | |||
| target="RFC7474"/> for OSPFv2, and in <xref target="RFC5340"/> and <xref | <t indent="0" pn="section-17-3">Both of these attacks can be addressed by | |||
| target="RFC4552"/> for OSPFv3.</t> | the existing security | |||
| extensions, as described in <xref target="RFC5304" format="default" sectio | ||||
| <t>If the node that is authenticated is taken over by an attacker, such ro | nFormat="of" derivedContent="RFC5304"/> and <xref target="RFC5310" format="defau | |||
| gue | lt" sectionFormat="of" derivedContent="RFC5310"/> for IS-IS, in <xref target="RF | |||
| C2328" format="default" sectionFormat="of" derivedContent="RFC2328"/> and <xref | ||||
| target="RFC7474" format="default" sectionFormat="of" derivedContent="RFC7474"/> | ||||
| for OSPFv2, and in <xref target="RFC4552" format="default" sectionFormat="of" de | ||||
| rivedContent="RFC4552"/> and <xref target="RFC5340" format="default" sectionForm | ||||
| at="of" derivedContent="RFC5340"/> for OSPFv3.</t> | ||||
| <t indent="0" pn="section-17-4">If the node that is authenticated is taken | ||||
| over by an attacker, such rogue | ||||
| node can advertise the FAD for any Flex-Algorithm. Doing so may result in | node can advertise the FAD for any Flex-Algorithm. Doing so may result in | |||
| traffic for such Flex-Algorithm to be misrouted, or not being delivered | traffic for such Flex-Algorithm to be misrouted, or not delivered | |||
| at all, for example, by using an unsupported metric-type, calculation-type , | at all, for example, by using an unsupported metric-type, calculation-type , | |||
| or constraint. Such attack is not preventable through authentication, and it is | or constraint. Such attack is not preventable through authentication, and it is | |||
| not different from advertising any other incorrect information through IS- IS or | not different from advertising any other incorrect information through IS- IS or | |||
| OSPF.</t> | OSPF.</t> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn= | ||||
| <section anchor="IANA" title="IANA Considerations"> | "section-18"> | |||
| <section anchor="IANAIGP" title="IGP IANA Considerations"> | <name slugifiedName="name-iana-considerations">IANA Considerations</name> | |||
| <section anchor="IANAIGPIGPALGTYPE" | <section anchor="IANAIGP" numbered="true" toc="include" removeInRFC="false | |||
| title="IGP Algorithm Types Registry"> | " pn="section-18.1"> | |||
| <t>This document makes the following registrations in the "IGP | <name slugifiedName="name-igp-iana-considerations">IGP IANA Consideratio | |||
| Algorithm Types" registry: <list style="hanging"> | ns</name> | |||
| <t>Type: 128-255.</t> | <section anchor="IANAIGPIGPALGTYPE" numbered="true" toc="include" remove | |||
| InRFC="false" pn="section-18.1.1"> | ||||
| <t>Description: Flexible Algorithms.</t> | <name slugifiedName="name-igp-algorithm-types-registr">IGP Algorithm T | |||
| ypes Registry</name> | ||||
| <t>Reference: This document (<xref target="FLEXALG"/>).</t> | <t indent="0" pn="section-18.1.1-1">This document makes the following | |||
| </list></t> | registration in the "IGP | |||
| Algorithm Types" registry: </t> | ||||
| <table align="center" pn="table-1"> | ||||
| <name slugifiedName="name-igp-algorithm-types-registry">IGP Algorith | ||||
| m Types Registry</name> | ||||
| <thead> | ||||
| <tr> | ||||
| <th align="left" colspan="1" rowspan="1">Value</th> | ||||
| <th align="left" colspan="1" rowspan="1">Description</th> | ||||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">128-255</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithms</td | ||||
| > | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "FLEXALG" format="default" sectionFormat="of" derivedContent="Section 4"/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="IGPMETRICTYPE" numbered="true" toc="include" removeInRF | ||||
| <section anchor="IGPMETRICTYPE" title="IGP Metric-Type Registry"> | C="false" pn="section-18.1.2"> | |||
| <t>IANA is requested to set up a registry called "IGP Metric-Type | <name slugifiedName="name-igp-metric-type-registry">IGP Metric-Type Re | |||
| Registry" under the "Interior Gateway Protocol (IGP) Parameters" IANA | gistry</name> | |||
| grouping. The registration policy for this registry is "Standards | <t indent="0" pn="section-18.1.2-1">IANA has created the "IGP Metric-T | |||
| Action" (<xref target="RFC8126"/> and <xref target="RFC7120"/>).</t> | ype" registry | |||
| within the "Interior Gateway Protocol (IGP) Parameters" registry group | ||||
| <t>Values in this registry come from the range 0-255.</t> | . The registration policy is "Standards | |||
| Action" <xref target="RFC8126" format="default" sectionFormat="of" der | ||||
| <t>This document registers following values in the "IGP Metric-Type | ivedContent="RFC8126"/> <xref target="RFC7120" format="default" sectionFormat="o | |||
| Registry": <list style="hanging"> | f" derivedContent="RFC7120"/>. Values are assigned from the range 0-255 and have | |||
| <t>Type: 0</t> | been registered as follows. </t> | |||
| <table align="center" pn="table-2"> | ||||
| <t>Description: IGP metric</t> | <name slugifiedName="name-igp-metric-type-registry-2">IGP Metric-Typ | |||
| e Registry</name> | ||||
| <t>Reference: This document (<xref target="ISISFLEXALGTLV"/>)</t> | <thead> | |||
| <tr> | ||||
| <t>Type: 1</t> | <th align="left" colspan="1" rowspan="1">Type</th> | |||
| <th align="left" colspan="1" rowspan="1">Description</th> | ||||
| <t>Description: Min Unidirectional Link Delay as defined in | <th align="left" colspan="1" rowspan="1">Reference</th> | |||
| <xref target="RFC8570"/>, section 4.2, and <xref | </tr> | |||
| target="RFC7471"/>, section 4.2.</t> | </thead> | |||
| <tbody> | ||||
| <t>Reference: This document (<xref | <tr> | |||
| target="ISISFLEXALGTLV"/>)</t> | <td align="left" colspan="1" rowspan="1">0</td> | |||
| <td align="left" colspan="1" rowspan="1">IGP Metric</td> | ||||
| <t>Type: 2</t> | <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | |||
| "ISISFLEXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.1 | ||||
| <t>Description: Traffic Engineering Default Metric as defined in | "/></td> | |||
| <xref target="RFC5305"/>, section 3.7, and Traffic engineering | </tr> | |||
| metric as defined in <xref target="RFC3630"/>, section 2.5.5</t> | <tr> | |||
| <td align="left" colspan="1" rowspan="1">1</td> | ||||
| <t>Reference: This document (<xref | <td align="left" colspan="1" rowspan="1">Min Unidirectional Link | |||
| target="ISISFLEXALGTLV"/>)</t> | Delay as defined in <xref target="RFC8570" section="4.2" sectionFormat="comma" | |||
| </list></t> | format="default" derivedLink="https://rfc-editor.org/rfc/rfc8570#section-4.2" de | |||
| rivedContent="RFC8570"/> and <xref target="RFC7471" section="4.2" sectionFormat= | ||||
| "comma" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7471#section | ||||
| -4.2" derivedContent="RFC7471"/></td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.1 | ||||
| "/></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">2</td> | ||||
| <td align="left" colspan="1" rowspan="1">Traffic Engineering Def | ||||
| ault Metric as defined in <xref target="RFC5305" section="3.7" sectionFormat="co | ||||
| mma" format="default" derivedLink="https://rfc-editor.org/rfc/rfc5305#section-3. | ||||
| 7" derivedContent="RFC5305"/> and Traffic Engineering Metric as defined in <xref | ||||
| target="RFC3630" section="2.5.5" sectionFormat="comma" format="default" derived | ||||
| Link="https://rfc-editor.org/rfc/rfc3630#section-2.5.5" derivedContent="RFC3630" | ||||
| /></td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.1 | ||||
| "/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="IANAFADFLGAS" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="IANAFADFLGAS" | false" pn="section-18.2"> | |||
| title="Flexible Algorithm Definition Flags Registry"> | <name slugifiedName="name-igp-flexible-algorithm-defi">IGP Flexible Algo | |||
| <t>IANA is requested to set up a registry called "IGP Flexible | rithm Definition Flags Registry</name> | |||
| Algorithm Definition Flags Registry" under the "Interior Gateway | <t indent="0" pn="section-18.2-1">IANA has created the "IGP Flexible | |||
| Protocol (IGP) Parameters" IANA grouping. The registration policy | Algorithm Definition Flags" registry within the "Interior Gateway | |||
| for this registry is "Standards Action" (<xref target="RFC8126"/> and | Protocol (IGP) Parameters" registry group. The registration policy | |||
| <xref target="RFC7120"/>). New registrations should be assigned in | is "Standards Action". New registrations should be assigned in | |||
| ascending bit order (see <xref target="ISISFLEXALGFLAG"/>).</t> | ascending bit order (see <xref target="ISISFLEXALGFLAG" format="default" | |||
| sectionFormat="of" derivedContent="Section 6.4"/>); the following single bit ha | ||||
| <t>This document defines the following single bit in Flexible | s been assigned as follows.</t> | |||
| Algorithm Definition Flags registry: <figure> | <table align="center" pn="table-3"> | |||
| <artwork><![CDATA[ | <name slugifiedName="name-igp-flexible-algorithm-defin">IGP Flexible A | |||
| Bit # Name | lgorithm Definition Flags Registry</name> | |||
| ----- ------------------------------ | <thead> | |||
| 0 Prefix Metric Flag (M-flag) | <tr> | |||
| <th align="left" colspan="1" rowspan="1">Bit</th> | ||||
| ]]></artwork> | <th align="left" colspan="1" rowspan="1">Name</th> | |||
| </figure></t> | <th align="left" colspan="1" rowspan="1">Reference</th> | |||
| </tr> | ||||
| <t>Reference: This document (<xref target="ISISFLEXALGFLAG"/>, <xref | </thead> | |||
| target="OSPFFLEXALGFLAG"/>).</t> | <tbody> | |||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">0</td> | ||||
| <td align="left" colspan="1" rowspan="1">Prefix Metric Flag (M-fla | ||||
| g)</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, Sections <xref | ||||
| target="ISISFLEXALGFLAG" format="counter" sectionFormat="of" derivedContent="6.4 | ||||
| "/> and <xref target="OSPFFLEXALGFLAG" format="counter" sectionFormat="of" deri | ||||
| vedContent="7.4"/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="IANAISIS" numbered="true" toc="include" removeInRFC="fals | ||||
| <section anchor="IANAISIS" title="IS-IS IANA Considerations"> | e" pn="section-18.3"> | |||
| <section anchor="SUBTLVS" title="IS-IS Sub-TLVs for IS-IS Router CAPABIL | <name slugifiedName="name-is-is-iana-considerations">IS-IS IANA Consider | |||
| ITY TLV"> | ations</name> | |||
| <t>This document makes the following registrations in the | <section anchor="SUBTLVS" numbered="true" toc="include" removeInRFC="fal | |||
| "IS-IS Sub-TLVs for IS-IS Router CAPABILITY TLV" registry. <list style | se" pn="section-18.3.1"> | |||
| ="hanging"> | <name slugifiedName="name-is-is-sub-tlvs-for-is-is-ro">IS-IS Sub-TLVs | |||
| <t>Type: 26.</t> | for IS-IS Router CAPABILITY TLV Registry</name> | |||
| <t indent="0" pn="section-18.3.1-1">This document makes the following | ||||
| <t>Description: Flexible Algorithm Definition (FAD)</t> | registration in the | |||
| "IS-IS Sub-TLVs for IS-IS Router CAPABILITY TLV" registry. </t> | ||||
| <t>Reference: This document (<xref target="ISISFLEXALGTLV"/>).</t> | <table align="center" pn="table-4"> | |||
| </list></t> | <name slugifiedName="name-is-is-sub-tlvs-for-is-is-rou">IS-IS Sub-TL | |||
| Vs for IS-IS Router CAPABILITY TLV Registry</name> | ||||
| <thead> | ||||
| <tr> | ||||
| <th align="left" colspan="1" rowspan="1">Value</th> | ||||
| <th align="left" colspan="1" rowspan="1">Description</th> | ||||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">26</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Defi | ||||
| nition (FAD)</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.1 | ||||
| "/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="SUBTLVS135" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="SUBTLVS135" | false" pn="section-18.3.2"> | |||
| title="IS-IS Sub-TLVs for TLVs Advertising Prefix Reachability" | <name slugifiedName="name-is-is-sub-tlvs-for-tlvs-adv">IS-IS Sub-TLVs | |||
| > | for TLVs Advertising Prefix Reachability Registry</name> | |||
| <t>This document makes the following registrations in the | <t indent="0" pn="section-18.3.2-1">This document makes the following | |||
| "IS-IS Sub-TLVs for TLVs Advertising Prefix Reachability" registry. <l | registration in the | |||
| ist style="hanging"> | "IS-IS Sub-TLVs for TLVs Advertising Prefix Reachability" registry. </ | |||
| <t>Type: 6</t> | t> | |||
| <table align="center" pn="table-5"> | ||||
| <t>Description: Flexible Algorithm Prefix Metric (FAPM).</t> | <name slugifiedName="name-is-is-sub-tlvs-for-tlvs-adve">IS-IS Sub-TL | |||
| Vs for TLVs Advertising Prefix Reachability Registry</name> | ||||
| <t>Reference: This document (<xref target="ISISFLEXMETRIC"/>).</t> | <thead> | |||
| </list></t> | <tr> | |||
| <th align="left" colspan="1" rowspan="1">Type</th> | ||||
| <th align="left" colspan="1" rowspan="1">Description</th> | ||||
| <th align="left" colspan="1" rowspan="1">27</th> | ||||
| <th align="left" colspan="1" rowspan="1">135</th> | ||||
| <th align="left" colspan="1" rowspan="1">235</th> | ||||
| <th align="left" colspan="1" rowspan="1">236</th> | ||||
| <th align="left" colspan="1" rowspan="1">237</th> | ||||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">6</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Pref | ||||
| ix Metric (FAPM)</td> | ||||
| <td align="left" colspan="1" rowspan="1">n</td> | ||||
| <td align="left" colspan="1" rowspan="1">y</td> | ||||
| <td align="left" colspan="1" rowspan="1">y</td> | ||||
| <td align="left" colspan="1" rowspan="1">y</td> | ||||
| <td align="left" colspan="1" rowspan="1">y</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXMETRIC" format="default" sectionFormat="of" derivedContent="Section 8"/ | ||||
| ></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | ||||
| <section anchor="SUBTLVREGISTRY" numbered="true" toc="include" removeInR | ||||
| FC="false" pn="section-18.3.3"> | ||||
| <name slugifiedName="name-is-is-sub-sub-tlvs-for-flex">IS-IS Sub-Sub-T | ||||
| LVs for Flexible Algorithm Definition Sub-TLV Registry</name> | ||||
| <t indent="0" pn="section-18.3.3-1">IANA has created the "IS-IS Sub-Su | ||||
| b-TLVs for Flexible Algorithm Definition Sub-TLV" registry within the | ||||
| "IS-IS TLV Codepoints" registry group. The registration procedure is "E | ||||
| xpert Review" (note that the "IS-IS TLV | ||||
| Codepoints" registry group includes Expert Review guidance that applies | ||||
| to all registries thereunder).</t> | ||||
| <t indent="0" pn="section-18.3.3-2">The sub-sub-TLVs defined in this d | ||||
| ocument have been assigned as follows. | ||||
| </t> | ||||
| <table align="center" pn="table-6"> | ||||
| <name slugifiedName="name-is-is-sub-sub-tlvs-for-flexi">IS-IS Sub-Su | ||||
| b-TLVs for Flexible Algorithm Definition Sub-TLV Registry</name> | ||||
| <thead> | ||||
| <tr> | ||||
| <th align="left" colspan="1" rowspan="1">Type</th> | ||||
| <th align="left" colspan="1" rowspan="1">Description</th> | ||||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">0</td> | ||||
| <td align="left" colspan="1" rowspan="1">Reserved</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">1</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Excl | ||||
| ude Admin Group</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXALGEXLTLV" format="default" sectionFormat="of" derivedContent="Section | ||||
| 6.1"/></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">2</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Incl | ||||
| ude-Any Admin Group</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXALGINCANYTLV" format="default" sectionFormat="of" derivedContent="Secti | ||||
| on 6.2"/></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">3</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Incl | ||||
| ude-All Admin Group</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXALGINCALLTLV" format="default" sectionFormat="of" derivedContent="Secti | ||||
| on 6.3"/></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">4</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Defi | ||||
| nition Flags</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXALGFLAG" format="default" sectionFormat="of" derivedContent="Section 6. | ||||
| 4"/></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">5</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Excl | ||||
| ude SRLG</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "ISISFLEXALGEXSRLGTLV" format="default" sectionFormat="of" derivedContent="Secti | ||||
| on 6.5"/></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">6-255</td> | ||||
| <td align="left" colspan="1" rowspan="1">Unassigned</td> | ||||
| <td align="left" colspan="1" rowspan="1"/> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="SUBTLVREGISTRY" | ||||
| title="Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV"> | ||||
| <t>This document creates the following Sub-Sub-TLV Registry, under the | ||||
| IS-IS TLV Codepoints grouping. <list style="hanging"> | ||||
| <t>Registry: Sub-Sub-TLVs for Flexible Algorithm Definition | ||||
| Sub-TLV</t> | ||||
| <t>Registration Procedure: Expert review. (Note that the IS-IS TLV | ||||
| Codepoints grouping includes Expert Review guidance that applies t | ||||
| o | ||||
| all registries thereunder.) </t> | ||||
| <t>Reference: This document (<xref | ||||
| target="ISISFLEXALGTLV"/>)</t> | ||||
| </list></t> | ||||
| <t>This document defines the following Sub-Sub-TLVs in the | ||||
| "Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV" registry: | ||||
| <list style="hanging"> | ||||
| <t>Type: 0</t> | ||||
| <t>Description: Reserved</t> | ||||
| <t>Reference: This document.</t> | ||||
| </list> <list style="hanging"> | ||||
| <t>Type: 1</t> | ||||
| <t>Description: Flexible Algorithm Exclude Admin Group</t> | ||||
| <t>Reference: This document (<xref target="ISISFLEXALGEXLTLV"/>).< | ||||
| /t> | ||||
| </list> <list style="hanging"> | ||||
| <t>Type: 2</t> | ||||
| <t>Description: Flexible Algorithm Include-Any Admin Group</t> | ||||
| <t>Reference: This document (<xref target="ISISFLEXALGINCANYTLV"/> | ||||
| ).</t> | ||||
| </list> <list style="hanging"> | ||||
| <t>Type: 3</t> | ||||
| <t>Description: Flexible Algorithm Include-All Admin Group</t> | ||||
| <t>Reference: This document (<xref target="ISISFLEXALGINCALLTLV"/> | ||||
| ).</t> | ||||
| </list> <list style="hanging"> | ||||
| <t>Type: 4</t> | ||||
| <t>Description: Flexible Algorithm Definition Flags</t> | ||||
| <t>Reference: This document (<xref target="ISISFLEXALGFLAG"/>).</t | ||||
| > | ||||
| </list> <list style="hanging"> | ||||
| <t>Type: 5</t> | ||||
| <t>Description: Flexible Algorithm Exclude SRLG</t> | ||||
| <t>Reference: This document (<xref target="ISISFLEXALGEXSRLGTLV"/> | ||||
| ).</t> | ||||
| </list> <list style="hanging"> | ||||
| <t>Type: 6-255</t> | ||||
| <t>Description: Unassigned</t> | ||||
| <t>Reference: This document.</t> | ||||
| </list></t> | ||||
| </section> | ||||
| </section> | </section> | |||
| <section anchor="IANAOSPF" numbered="true" toc="include" removeInRFC="fals | ||||
| <section anchor="IANAOSPF" title="OSPF IANA Considerations"> | e" pn="section-18.4"> | |||
| <section anchor="RITLVREG" | <name slugifiedName="name-ospf-iana-considerations">OSPF IANA Considerat | |||
| title="OSPF Router Information (RI) TLVs Registry"> | ions</name> | |||
| <t>This specification makes the following registration in the OSPF | <section anchor="RITLVREG" numbered="true" toc="include" removeInRFC="fa | |||
| Router Information (RI) TLVs Registry. <list style="hanging"> | lse" pn="section-18.4.1"> | |||
| <t>Type: 16</t> | <name slugifiedName="name-ospf-router-information-ri-">OSPF Router Inf | |||
| ormation (RI) TLVs Registry</name> | ||||
| <t>Description: Flexible Algorithm Definition (FAD) TLV.</t> | <t indent="0" pn="section-18.4.1-1">This document makes the following | |||
| registration in the "OSPF | ||||
| <t>Reference: This document (<xref | Router Information (RI) TLVs" registry. </t> | |||
| target="OSPFFLEXALGTLV"/>).</t> | <table align="center" pn="table-7"> | |||
| </list></t> | <name slugifiedName="name-ospf-router-information-ri-t">OSPF Router | |||
| Information (RI) TLVs Registry</name> | ||||
| <thead> | ||||
| <tr> | ||||
| <th align="left" colspan="1" rowspan="1">Value</th> | ||||
| <th align="left" colspan="1" rowspan="1">Description</th> | ||||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">16</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Defi | ||||
| nition (FAD) TLV</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "OSPFFLEXALGTLV" format="default" sectionFormat="of" derivedContent="Section 5.2 | ||||
| "/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="SUBTLVEXTPFX" numbered="true" toc="include" removeInRFC | ||||
| <section anchor="SUBTLVEXTPFX" | ="false" pn="section-18.4.2"> | |||
| title="OSPFv2 Extended Prefix TLV Sub-TLVs"> | <name slugifiedName="name-ospfv2-extended-prefix-tlv-">OSPFv2 Extended | |||
| <t>This document makes the following registrations in the "OSPFv2 | Prefix TLV Sub-TLVs Registry</name> | |||
| Extended Prefix TLV Sub-TLVs" registry. <list style="hanging"> | <t indent="0" pn="section-18.4.2-1">This document makes the following | |||
| <t>Type: 3</t> | registration in the "OSPFv2 | |||
| Extended Prefix TLV Sub-TLVs" registry. </t> | ||||
| <t>Description: Flexible Algorithm Prefix Metric (FAPM).</t> | <table align="center" pn="table-8"> | |||
| <name slugifiedName="name-ospfv2-extended-prefix-tlv-s">OSPFv2 Exten | ||||
| <t>Reference: This document (<xref | ded Prefix TLV Sub-TLVs Registry</name> | |||
| target="OSPFFLEXMETRIC"/>).</t> | <thead> | |||
| </list></t> | <tr> | |||
| <th align="left" colspan="1" rowspan="1">Value</th> | ||||
| <th align="left" colspan="1" rowspan="1">Description</th> | ||||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">3</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Pref | ||||
| ix Metric (FAPM)</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "OSPFFLEXMETRIC" format="default" sectionFormat="of" derivedContent="Section 9"/ | ||||
| ></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="SUBTLVV3EXTLSA" numbered="true" toc="include" removeInR | ||||
| <section anchor="SUBTLVV3EXTLSA" title="OSPFv3 Extended-LSA Sub-TLVs"> | FC="false" pn="section-18.4.3"> | |||
| <t>This document makes the following registrations in the "OSPFv3 | <name slugifiedName="name-ospfv3-extended-lsa-sub-tlv">OSPFv3 Extended | |||
| Extended-LSA Sub-TLVs" registry. <list style="hanging"> | -LSA Sub-TLVs Registry</name> | |||
| <t>Type: 26</t> | <t indent="0" pn="section-18.4.3-1">This document makes the following | |||
| registrations in the "OSPFv3 | ||||
| <t>Description: Flexible Algorithm Prefix Metric (FAPM).</t> | Extended-LSA Sub-TLVs" registry. </t> | |||
| <table align="center" pn="table-9"> | ||||
| <t>Reference: This document (<xref | <name slugifiedName="name-ospfv3-extended-lsa-sub-tlvs">OSPFv3 Exten | |||
| target="OSPFFLEXMETRIC"/>).</t> | ded-LSA Sub-TLVs Registry</name> | |||
| <thead> | ||||
| <t>Type: 33</t> | <tr> | |||
| <th align="left" colspan="1" rowspan="1">Value</th> | ||||
| <t>Description: OSPF Flexible Algorithm ASBR Metric</t> | <th align="left" colspan="1" rowspan="1">Description</th> | |||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| <t>Reference: This document (<xref target="OSPFFAASBRMETRIC"/>).</ | </tr> | |||
| t> | </thead> | |||
| </list></t> | <tbody> | |||
| <tr> | ||||
| <t>For both of these sub-TLVs the column L2BN in the registry is set | <td align="left" colspan="1" rowspan="1">26</td> | |||
| to "X" - | <td align="left" colspan="1" rowspan="1">Flexible Algorithm Pref | |||
| meaning "sub-TLV is not a Router Link sub-TLV; it MUST NOT appear | ix Metric (FAPM)</td> | |||
| in L2 Bundle Member sub-TLV".</t> | <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | |||
| "OSPFFLEXMETRIC" format="default" sectionFormat="of" derivedContent="Section 9"/ | ||||
| ></td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">33</td> | ||||
| <td align="left" colspan="1" rowspan="1">OSPF Flexible Algorithm | ||||
| ASBR Metric</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "OSPFFAASBRMETRIC" format="default" sectionFormat="of" derivedContent="Section 1 | ||||
| 0.2"/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="FAPMFLAGS" numbered="true" toc="include" removeInRFC="f | ||||
| <section anchor="FAPMFLAGS" | alse" pn="section-18.4.4"> | |||
| title="OSPF Flex-Algorithm Prefix Metric Bits"> | <name slugifiedName="name-ospf-flex-algorithm-prefix-">OSPF Flex-Algor | |||
| <t>This specification requests creation of the "OSPF Flex-Algorithm | ithm Prefix Metric Bits Registry</name> | |||
| <t indent="0" pn="section-18.4.4-1">IANA has created the "OSPF Flex-Al | ||||
| gorithm | ||||
| Prefix Metric Bits" registry under the "Open Shortest Path First | Prefix Metric Bits" registry under the "Open Shortest Path First | |||
| (OSPF) Parameters" with the following initial values:</t> | (OSPF) Parameters" registry. The registration procedure | |||
| is "IETF Review". Bits 1-7 are unassigned, and the initial value has b | ||||
| <t><list style="hanging"> | een assigned as follows.</t> | |||
| <t>Bit Number: 0</t> | <table align="center" pn="table-10"> | |||
| <name slugifiedName="name-ospf-flex-algorithm-prefix-m">OSPF Flex-Al | ||||
| <t>Description: E bit - External Type</t> | gorithm Prefix Metric Bits Registry</name> | |||
| <thead> | ||||
| <t>Reference: this document (<xref target="OSPFFLEXMETRIC"/>).</t> | <tr> | |||
| </list>The bits 1-7 are unassigned and the registration procedure | <th align="left" colspan="1" rowspan="1">Bit Number</th> | |||
| to be followed for this registry is IETF Review.</t> | <th align="left" colspan="1" rowspan="1">Description</th> | |||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">0</td> | ||||
| <td align="left" colspan="1" rowspan="1">E bit - External Type</ | ||||
| td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "OSPFFLEXMETRIC" format="default" sectionFormat="of" derivedContent="Section 9"/ | ||||
| ></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="OPQLSAOPTS" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="OPQLSAOPTS" title="OSPFv2 Opaque LSA Option Types "> | false" pn="section-18.4.5"> | |||
| <t>This document makes the following registrations in the "Opaque Link | <name slugifiedName="name-opaque-link-state-advertise">Opaque Link-Sta | |||
| -State | te Advertisements (LSA) Option Types Registry</name> | |||
| Advertisements (LSA) Option Types" registry under the "Open Shortest P | <t indent="0" pn="section-18.4.5-1">This document makes the following | |||
| ath First | registration in the "Opaque Link-State | |||
| (OSPF) Opaque Link-State Advertisements (LSA) Option Types" grouping. | Advertisements (LSA) Option Types" registry within the "Open Shortest | |||
| <list style="hanging"> | Path First | |||
| (OSPF) Opaque Link-State Advertisements (LSA) Option Types" registry g | ||||
| <t>Value: 11</t> | roup. </t> | |||
| <table align="center" pn="table-11"> | ||||
| <t>Description: OSPFv2 Extended Inter-Area ASBR (EIA-ASBR) LSA</t> | <name slugifiedName="name-opaque-link-state-advertisem">Opaque Link- | |||
| State Advertisements (LSA) Option Types Registry</name> | ||||
| <t>Reference: This document (<xref | <thead> | |||
| target="OSPFEXTASBRLSA"/>).</t> | <tr> | |||
| </list></t> | <th align="left" colspan="1" rowspan="1">Value</th> | |||
| <th align="left" colspan="1" rowspan="1">Opaque Type</th> | ||||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">11</td> | ||||
| <td align="left" colspan="1" rowspan="1">OSPFv2 Extended Inter-A | ||||
| rea ASBR (EIA-ASBR) LSA</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "OSPFEXTASBRLSA" format="default" sectionFormat="of" derivedContent="Section 10. | ||||
| 1"/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="IAASBRTLV" numbered="true" toc="include" removeInRFC="f | ||||
| <section anchor="IAASBRTLV" | alse" pn="section-18.4.6"> | |||
| title="OSPFv2 Extended Inter-Area ASBR TLVs"> | <name slugifiedName="name-ospfv2-extended-inter-area-as">OSPFv2 Extend | |||
| <t>This specification requests creation of "OSPFv2 Extended | ed Inter-Area ASBR TLVs Registry</name> | |||
| Inter-Area ASBR TLVs" registry under the OSPFv2 Parameters Registry | <t indent="0" pn="section-18.4.6-1">IANA has created the "OSPFv2 Exten | |||
| with the following initial values.</t> | ded | |||
| Inter-Area ASBR TLVs" registry within the "Open Shortest Path First v2 | ||||
| <t><list style="hanging"> | (OSPFv2) Parameters" registry group. The registration procedure is "IETF Review | |||
| <t>Value: 1</t> | " or "IESG Approval". The initial value has been assigned as follows.</t> | |||
| <table align="center" pn="table-12"> | ||||
| <t>Description : Extended Inter-Area ASBR</t> | <name slugifiedName="name-ospfv2-extended-inter-area-asb">OSPFv2 Ext | |||
| ended Inter-Area ASBR TLVs Registry</name> | ||||
| <t>Reference: this document</t> | <thead> | |||
| </list>The values 2 to 32767 are unassigned, values 32768 to 33023 | <tr> | |||
| are reserved for experimental use while the values 0 and 33024 to | <th align="left" colspan="1" rowspan="1">Value</th> | |||
| 65535 are reserved. The registration procedure to be followed for | <th align="left" colspan="1" rowspan="1">Description</th> | |||
| this registry is IETF Review or IESG Approval.</t> | <th align="left" colspan="1" rowspan="1">Reference</th> | |||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">1</td> | ||||
| <td align="left" colspan="1" rowspan="1">Extended Inter-Area ASB | ||||
| R</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-18.4.6-3">The values 2-32767 are unassigned, | ||||
| the values 32768-33023 | ||||
| are reserved for Experimental Use, and the values 0 and 33024-65535 ar | ||||
| e | ||||
| reserved.</t> | ||||
| </section> | </section> | |||
| <section anchor="IAASBRSTLV" numbered="true" toc="include" removeInRFC=" | ||||
| <section anchor="IAASBRSTLV" title="OSPFv2 Inter-Area ASBR Sub-TLVs"> | false" pn="section-18.4.7"> | |||
| <t>This specification requests creation of "OSPFv2 Extended | <name slugifiedName="name-ospfv2-extended-inter-area-asbr">OSPFv2 Exte | |||
| nded Inter-Area ASBR Sub-TLVs Registry</name> | ||||
| <t indent="0" pn="section-18.4.7-1">IANA has created the "OSPFv2 Exten | ||||
| ded | ||||
| Inter-Area ASBR Sub-TLVs" registry under the "Open Shortest Path | Inter-Area ASBR Sub-TLVs" registry under the "Open Shortest Path | |||
| First v2 (OSPFv2) Parameters" grouping, with the following initial val | First v2 (OSPFv2) Parameters" registry. The registration procedure is | |||
| ues.</t> | "IETF Review" or "IESG Approval". The initial value has been assigned as follows | |||
| .</t> | ||||
| <t><list style="hanging"> | <table align="center" pn="table-13"> | |||
| <t>Value: 1</t> | <name slugifiedName="name-ospfv2-extended-inter-area-asbr-">OSPFv2 E | |||
| xtended Inter-Area ASBR Sub-TLVs Registry</name> | ||||
| <t>Description : OSPF Flexible Algorithm ASBR Metric</t> | <thead> | |||
| <tr> | ||||
| <t>Reference: this document</t> | <th align="left" colspan="1" rowspan="1">Value</th> | |||
| </list>The values 2 to 32767 are unassigned, values 32768 to 33023 | <th align="left" colspan="1" rowspan="1">Description</th> | |||
| are reserved for experimental use while the values 0 and 33024 to | <th align="left" colspan="1" rowspan="1">Reference</th> | |||
| 65535 are reserved. The registration procedure to be followed for | </tr> | |||
| this registry is IETF Review or IESG Approval.</t> | </thead> | |||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">1</td> | ||||
| <td align="left" colspan="1" rowspan="1">OSPF Flexible Algorithm | ||||
| ASBR Metric</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-18.4.7-3">The values 2-32767 are unassigned, | ||||
| the values 32768-33023 | ||||
| are reserved for Experimental Use, and the values 0 and 33024-65535 ar | ||||
| e | ||||
| reserved.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-1 | ||||
| <section title="OSPF Flexible Algorithm Definition TLV Sub-TLV Registry" | 8.4.8"> | |||
| > | <name slugifiedName="name-ospf-flexible-algorithm-defin">OSPF Flexible | |||
| <t>This document creates the following registry under the "Open Shorte | Algorithm Definition TLV Sub-TLVs Registry</name> | |||
| st | <t indent="0" pn="section-18.4.8-1">IANA has created the "OSPF Flexibl | |||
| Path First (OSPF) Parameters" grouping: | e Algorithm Definition TLV Sub-TLVs" registry within the "Open Shortest Path Fir | |||
| <list style="hanging"> | st (OSPF) Parameters" registry group. The registration procedure is "IETF Review | |||
| <t>Registry: OSPF Flexible Algorithm Definition TLV sub-TLVs</t> | " or "IESG Approval". | |||
| </t> | ||||
| <t>Registration Procedure: IETF Review or IESG Approval</t> | <t indent="0" pn="section-18.4.8-2">The "OSPF Flexible Algorithm Defin | |||
| ition TLV Sub-TLVs" registry | ||||
| <t>Reference: This document (<xref | ||||
| target="OSPFFLEXALGTLV"/>)</t> | ||||
| </list></t> | ||||
| <t>The "OSPF Flexible Algorithm Definition TLV sub-TLV" registry | ||||
| will define sub-TLVs at any level of nesting for the Flexible | will define sub-TLVs at any level of nesting for the Flexible | |||
| Algorithm TLV New values can be allocated via IETF Review or IESG App | Algorithm TLV, and new values can be allocated via the registration pr | |||
| roval.</t> | ocedure.</t> | |||
| <t indent="0" pn="section-18.4.8-3">This document registers the follow | ||||
| <t>This document registers following Sub-TLVs in the "OSPF Flexible Al | ing sub-TLVs. </t> | |||
| gorithm | <table align="center" pn="table-14"> | |||
| Definition TLV sub-TLV" registry: <list style="hanging"> | <name slugifiedName="name-ospf-flexible-algorithm-defini">OSPF Flexi | |||
| <t>Type: 0</t> | ble Algorithm Definition TLV Sub-TLVs Registry</name> | |||
| <thead> | ||||
| <t>Description: Reserved</t> | <tr> | |||
| <th align="left" colspan="1" rowspan="1">Bit Number</th> | ||||
| <t>Reference: This document (<xref | <th align="left" colspan="1" rowspan="1">Description</th> | |||
| target="OSPFFLEXALGEXLTLV"/>).</t> | <th align="left" colspan="1" rowspan="1">Reference</th> | |||
| </tr> | ||||
| </list><list style="hanging"> | </thead> | |||
| <t>Type: 1</t> | <tbody> | |||
| <tr> | ||||
| <t>Description: Flexible Algorithm Exclude Admin Group</t> | <td align="left" colspan="1" rowspan="1">0</td> | |||
| <td align="left" colspan="1" rowspan="1">Reserved</td> | ||||
| <t>Reference: This document (<xref | <td align="left" colspan="1" rowspan="1">RFC 9350</td> | |||
| target="OSPFFLEXALGEXLTLV"/>).</t> | </tr> | |||
| </list> <list style="hanging"> | <tr> | |||
| <t>Type: 2</t> | <td align="left" colspan="1" rowspan="1">1</td> | |||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Excl | ||||
| <t>Description: Flexible Algorithm Include-Any Admin Group</t> | ude Admin Group</td> | |||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| <t>Reference: This document (<xref | "OSPFFLEXALGEXLTLV" format="default" sectionFormat="of" derivedContent="Section | |||
| target="OSPFFLEXALGINCANYTLV"/>).</t> | 7.1"/></td> | |||
| </list> <list style="hanging"> | </tr> | |||
| <t>Type: 3</t> | <tr> | |||
| <td align="left" colspan="1" rowspan="1">2</td> | ||||
| <t>Description: Flexible Algorithm Include-All Admin Group</t> | <td align="left" colspan="1" rowspan="1">Flexible Algorithm Incl | |||
| ude-Any Admin Group</td> | ||||
| <t>Reference: This document (<xref | <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | |||
| target="OSPFFLEXALGINCALLTLV"/>).</t> | "OSPFFLEXALGINCANYTLV" format="default" sectionFormat="of" derivedContent="Secti | |||
| </list> <list style="hanging"> | on 7.2"/></td> | |||
| <t>Type: 4</t> | </tr> | |||
| <tr> | ||||
| <t>Description: Flexible Algorithm Definition Flags</t> | <td align="left" colspan="1" rowspan="1">3</td> | |||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Incl | ||||
| <t>Reference: This document (<xref | ude-All Admin Group</td> | |||
| target="OSPFFLEXALGFLAG"/>).</t> | <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | |||
| </list> <list style="hanging"> | "OSPFFLEXALGINCALLTLV" format="default" sectionFormat="of" derivedContent="Secti | |||
| <t>Type: 5</t> | on 7.3"/></td> | |||
| </tr> | ||||
| <t>Description: Flexible Algorithm Exclude SRLG</t> | <tr> | |||
| <td align="left" colspan="1" rowspan="1">4</td> | ||||
| <t>Reference: This document (<xref | <td align="left" colspan="1" rowspan="1">Flexible Algorithm Defi | |||
| target="OSPFFLEXALGEXSRLGTLV"/>).</t> | nition Flags</td> | |||
| </list></t> | <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | |||
| "OSPFFLEXALGFLAG" format="default" sectionFormat="of" derivedContent="Section 7. | ||||
| <t>The values 6 to 32767 are unassigned, values 32768-33023 are for | 4"/></td> | |||
| experimental use; these will not be registered with IANA.</t> | </tr> | |||
| <tr> | ||||
| <t>Types in the range 33024-65535 are not to be assigned at this | <td align="left" colspan="1" rowspan="1">5</td> | |||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm Excl | ||||
| ude SRLG</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "OSPFFLEXALGEXSRLGTLV" format="default" sectionFormat="of" derivedContent="Secti | ||||
| on 7.5"/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| <t indent="0" pn="section-18.4.8-5">The values 6-32767 are unassigned, | ||||
| and values 32768-33023 are for | ||||
| Experimental Use; these will not be registered with IANA.</t> | ||||
| <t indent="0" pn="section-18.4.8-6">Types in the range 33024-65535 are | ||||
| not to be assigned at this | ||||
| time. Before any assignments can be made in the 33024-65535 range, | time. Before any assignments can be made in the 33024-65535 range, | |||
| there MUST be an IETF specification that specifies IANA | there <bcp14>MUST</bcp14> be an IETF specification that specifies IANA | |||
| Considerations that covers the range being assigned.</t> | considerations that cover the range being assigned.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="include" removeInRFC="false" pn="section-1 | ||||
| <section title="Link Attribute Applications Registry"> | 8.4.9"> | |||
| <t>This document registers following bit in the Link Attribute | <name slugifiedName="name-link-attribute-application-">Link Attribute | |||
| Applications Registry: <list style="hanging"> | Application Identifiers Registry</name> | |||
| <t>Bit-3</t> | <t indent="0" pn="section-18.4.9-1">This document registers the follow | |||
| ing bit in the "Link Attribute | ||||
| <t>Description: Flexible Algorithm (X-bit)</t> | Application Identifiers" registry.</t> | |||
| <table align="center" pn="table-15"> | ||||
| <t>Reference: This document (<xref | <name slugifiedName="name-link-attribute-application-i">Link Attribu | |||
| target="FLEXALGLINKATTR"/>).</t> | te Application Identifiers Registry</name> | |||
| </list></t> | <thead> | |||
| <tr> | ||||
| <th align="left" colspan="1" rowspan="1">Bit</th> | ||||
| <th align="left" colspan="1" rowspan="1">Description</th> | ||||
| <th align="left" colspan="1" rowspan="1">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="left" colspan="1" rowspan="1">3</td> | ||||
| <td align="left" colspan="1" rowspan="1">Flexible Algorithm (X-b | ||||
| it)</td> | ||||
| <td align="left" colspan="1" rowspan="1">RFC 9350, <xref target= | ||||
| "FLEXALGLINKATTR" format="default" sectionFormat="of" derivedContent="Section 12 | ||||
| "/></td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="ACK" title="Acknowledgements"> | ||||
| <t>This draft, among other things, is also addressing the problem that | ||||
| the <xref target="I-D.gulkohegde-routing-planes-using-sr"/> was trying | ||||
| to solve. All authors of that draft agreed to join this draft.</t> | ||||
| <t>Thanks to Eric Rosen, Tony Przygienda, William Britto A J, Gunter Van | ||||
| De Velde, Dirk Goethals, Manju Sivaji and, Baalajee S for their detailed | ||||
| review and excellent comments.</t> | ||||
| <t>Thanks to Cengiz Halit for his review and feedback during initial | ||||
| phase of the solution definition.</t> | ||||
| <t>Thanks to Kenji Kumaki for his comments.</t> | ||||
| <t>Thanks to Acee Lindem for editorial comments.</t> | ||||
| </section> | ||||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | <displayreference target="I-D.gulkohegde-routing-planes-using-sr" to="ROUTIN | |||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | G-PLANES-USING-SR"/> | |||
| FC.2119.xml"?> | <displayreference target="I-D.ietf-rtgwg-segment-routing-ti-lfa" to="RTGWG-S | |||
| EGMENT-ROUTING-TI-LFA"/> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <references pn="section-19"> | |||
| FC.4203.xml"?> | <name slugifiedName="name-references">References</name> | |||
| <references pn="section-19.1"> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <name slugifiedName="name-normative-references">Normative References</na | |||
| FC.5307.xml"?> | me> | |||
| <reference anchor="ISO10589" quoteTitle="true" derivedAnchor="ISO10589"> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <front> | |||
| FC.7308.xml"?> | <title>Information technology - Telecommunications and information e | |||
| xchange between systems - Intermediate System to Intermediate System intra-domai | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | n routeing information exchange protocol for use in conjunction with the protoco | |||
| FC.5250.xml"?> | l for providing the connectionless-mode network service (ISO 8473)</title> | |||
| <author> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <organization abbrev="ISO" showOnFrontPage="true">International Or | |||
| FC.8920.xml"?> | ganization for Standardization</organization> | |||
| </author> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <date month="November" year="2002"/> | |||
| FC.8919.xml"?> | </front> | |||
| <seriesInfo name="ISO/IEC" value="10589:2002"/> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <refcontent>Second Edition</refcontent> | |||
| FC.7770.xml"?> | </reference> | |||
| <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2 | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | 119" quoteTitle="true" derivedAnchor="RFC2119"> | |||
| FC.7981.xml"?> | <front> | |||
| <title>Key words for use in RFCs to Indicate Requirement Levels</tit | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | le> | |||
| FC.8174.xml"?> | <author fullname="S. Bradner" initials="S." surname="Bradner"/> | |||
| <date month="March" year="1997"/> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <abstract> | |||
| FC.7684.xml"?> | <t indent="0">In many standards track documents several words are | |||
| used to signify the requirements in the specification. These words are often ca | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | pitalized. This document defines these words as they should be interpreted in I | |||
| FC.8362.xml"?> | ETF documents. This document specifies an Internet Best Current Practices for t | |||
| he Internet Community, and requests discussion and suggestions for improvements. | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | </t> | |||
| FC.8660.xml"?> | </abstract> | |||
| </front> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <seriesInfo name="BCP" value="14"/> | |||
| FC.8665.xml"?> | <seriesInfo name="RFC" value="2119"/> | |||
| <seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | </reference> | |||
| FC.8666.xml"?> | <reference anchor="RFC4203" target="https://www.rfc-editor.org/info/rfc4 | |||
| 203" quoteTitle="true" derivedAnchor="RFC4203"> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <front> | |||
| FC.8667.xml"?> | <title>OSPF Extensions in Support of Generalized Multi-Protocol Labe | |||
| l Switching (GMPLS)</title> | ||||
| <reference anchor="ISO10589"> | <author fullname="K. Kompella" initials="K." role="editor" surname=" | |||
| <front> | Kompella"/> | |||
| <title>Intermediate system to Intermediate system intra-domain | <author fullname="Y. Rekhter" initials="Y." role="editor" surname="R | |||
| routeing information exchange protocol for use in conjunction with | ekhter"/> | |||
| the protocol for providing the connectionless-mode Network Service | <date month="October" year="2005"/> | |||
| (ISO 8473)</title> | <abstract> | |||
| <t indent="0">This document specifies encoding of extensions to th | ||||
| <author> | e OSPF routing protocol in support of Generalized Multi-Protocol Label Switching | |||
| <organization abbrev="ISO">International Organization for | (GMPLS). [STANDARDS-TRACK]</t> | |||
| Standardization</organization> | </abstract> | |||
| </author> | </front> | |||
| <seriesInfo name="RFC" value="4203"/> | ||||
| <date month="Nov" year="2002"/> | <seriesInfo name="DOI" value="10.17487/RFC4203"/> | |||
| </front> | </reference> | |||
| <reference anchor="RFC5250" target="https://www.rfc-editor.org/info/rfc5 | ||||
| <seriesInfo name="ISO/IEC" value="10589:2002, Second Edition"/> | 250" quoteTitle="true" derivedAnchor="RFC5250"> | |||
| </reference> | <front> | |||
| <title>The OSPF Opaque LSA Option</title> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference. | <author fullname="L. Berger" initials="L." surname="Berger"/> | |||
| I-D.ietf-lsr-isis-srv6-extensions.xml"?> | <author fullname="I. Bryskin" initials="I." surname="Bryskin"/> | |||
| </references> | <author fullname="A. Zinin" initials="A." surname="Zinin"/> | |||
| <author fullname="R. Coltun" initials="R." surname="Coltun"/> | ||||
| <references title="Informative References"> | <date month="July" year="2008"/> | |||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <abstract> | |||
| FC.2328.xml"?> | <t indent="0">This document defines enhancements to the OSPF proto | |||
| col to support a new class of link state advertisements (LSAs) called Opaque LSA | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | s. Opaque LSAs provide a generalized mechanism to allow for the future extensibi | |||
| FC.3630.xml"?> | lity of OSPF. Opaque LSAs consist of a standard LSA header followed by applicati | |||
| on-specific information. The information field may be used directly by OSPF or b | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | y other applications. Standard OSPF link-state database flooding mechanisms are | |||
| FC.3101.xml"?> | used to distribute Opaque LSAs to all or some limited portion of the OSPF topolo | |||
| gy.</t> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <t indent="0">This document replaces RFC 2370 and adds to it a mec | |||
| FC.3906.xml"?> | hanism to enable an OSPF router to validate Autonomous System (AS)-scope Opaque | |||
| LSAs originated outside of the router's OSPF area. [STANDARDS-TRACK]</t> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | </abstract> | |||
| FC.4552.xml"?> | </front> | |||
| <seriesInfo name="RFC" value="5250"/> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <seriesInfo name="DOI" value="10.17487/RFC5250"/> | |||
| FC.5304.xml"?> | </reference> | |||
| <reference anchor="RFC5307" target="https://www.rfc-editor.org/info/rfc5 | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | 307" quoteTitle="true" derivedAnchor="RFC5307"> | |||
| FC.5305.xml"?> | <front> | |||
| <title>IS-IS Extensions in Support of Generalized Multi-Protocol Lab | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | el Switching (GMPLS)</title> | |||
| FC.5310.xml"?> | <author fullname="K. Kompella" initials="K." role="editor" surname=" | |||
| Kompella"/> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <author fullname="Y. Rekhter" initials="Y." role="editor" surname="R | |||
| FC.5340.xml"?> | ekhter"/> | |||
| <date month="October" year="2008"/> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <abstract> | |||
| FC.6571.xml"?> | <t indent="0">This document specifies encoding of extensions to th | |||
| e IS-IS routing protocol in support of Generalized Multi-Protocol Label Switchin | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | g (GMPLS). [STANDARDS-TRACK]</t> | |||
| FC.7120.xml"?> | </abstract> | |||
| </front> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <seriesInfo name="RFC" value="5307"/> | |||
| FC.7471.xml"?> | <seriesInfo name="DOI" value="10.17487/RFC5307"/> | |||
| </reference> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <reference anchor="RFC7308" target="https://www.rfc-editor.org/info/rfc7 | |||
| FC.7474.xml"?> | 308" quoteTitle="true" derivedAnchor="RFC7308"> | |||
| <front> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <title>Extended Administrative Groups in MPLS Traffic Engineering (M | |||
| FC.8570.xml"?> | PLS-TE)</title> | |||
| <author fullname="E. Osborne" initials="E." surname="Osborne"/> | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | <date month="July" year="2014"/> | |||
| FC.8126.xml"?> | <abstract> | |||
| <t indent="0">MPLS Traffic Engineering (MPLS-TE) advertises 32 adm | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.R | inistrative groups (commonly referred to as "colors" or "link colors") using the | |||
| FC.8986.xml"?> | Administrative Group sub-TLV. This is defined for OSPFv2 (RFC 3630), OSPFv3 (RF | |||
| C 5329) and IS-IS (RFC 5305).</t> | ||||
| <t indent="0">This document adds a sub-TLV to the IGP TE extension | ||||
| s, "Extended Administrative Group". This sub-TLV provides for additional adminis | ||||
| trative groups (link colors) beyond the current limit of 32.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7308"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7308"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7684" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 684" quoteTitle="true" derivedAnchor="RFC7684"> | ||||
| <front> | ||||
| <title>OSPFv2 Prefix/Link Attribute Advertisement</title> | ||||
| <author fullname="P. Psenak" initials="P." surname="Psenak"/> | ||||
| <author fullname="H. Gredler" initials="H." surname="Gredler"/> | ||||
| <author fullname="R. Shakir" initials="R." surname="Shakir"/> | ||||
| <author fullname="W. Henderickx" initials="W." surname="Henderickx"/ | ||||
| > | ||||
| <author fullname="J. Tantsura" initials="J." surname="Tantsura"/> | ||||
| <author fullname="A. Lindem" initials="A." surname="Lindem"/> | ||||
| <date month="November" year="2015"/> | ||||
| <abstract> | ||||
| <t indent="0">OSPFv2 requires functional extension beyond what can | ||||
| readily be done with the fixed-format Link State Advertisements (LSAs) as descr | ||||
| ibed in RFC 2328. This document defines OSPFv2 Opaque LSAs based on Type-Length | ||||
| -Value (TLV) tuples that can be used to associate additional attributes with pre | ||||
| fixes or links. Depending on the application, these prefixes and links may or m | ||||
| ay not be advertised in the fixed-format LSAs. The OSPFv2 Opaque LSAs are optio | ||||
| nal and fully backward compatible.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7684"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7684"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7770" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 770" quoteTitle="true" derivedAnchor="RFC7770"> | ||||
| <front> | ||||
| <title>Extensions to OSPF for Advertising Optional Router Capabiliti | ||||
| es</title> | ||||
| <author fullname="A. Lindem" initials="A." role="editor" surname="Li | ||||
| ndem"/> | ||||
| <author fullname="N. Shen" initials="N." surname="Shen"/> | ||||
| <author fullname="JP. Vasseur" initials="JP." surname="Vasseur"/> | ||||
| <author fullname="R. Aggarwal" initials="R." surname="Aggarwal"/> | ||||
| <author fullname="S. Shaffer" initials="S." surname="Shaffer"/> | ||||
| <date month="February" year="2016"/> | ||||
| <abstract> | ||||
| <t indent="0">It is useful for routers in an OSPFv2 or OSPFv3 rout | ||||
| ing domain to know the capabilities of their neighbors and other routers in the | ||||
| routing domain. This document proposes extensions to OSPFv2 and OSPFv3 for adve | ||||
| rtising optional router capabilities. The Router Information (RI) Link State Ad | ||||
| vertisement (LSA) is defined for this purpose. In OSPFv2, the RI LSA will be im | ||||
| plemented with an Opaque LSA type ID. In OSPFv3, the RI LSA will be implemented | ||||
| with a unique LSA type function code. In both protocols, the RI LSA can be adv | ||||
| ertised at any of the defined flooding scopes (link, area, or autonomous system | ||||
| (AS)). This document obsoletes RFC 4970 by providing a revised specification th | ||||
| at includes support for advertisement of multiple instances of the RI LSA and a | ||||
| TLV for functional capabilities.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7770"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7770"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7981" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 981" quoteTitle="true" derivedAnchor="RFC7981"> | ||||
| <front> | ||||
| <title>IS-IS Extensions for Advertising Router Information</title> | ||||
| <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/> | ||||
| <author fullname="S. Previdi" initials="S." surname="Previdi"/> | ||||
| <author fullname="M. Chen" initials="M." surname="Chen"/> | ||||
| <date month="October" year="2016"/> | ||||
| <abstract> | ||||
| <t indent="0">This document defines a new optional Intermediate Sy | ||||
| stem to Intermediate System (IS-IS) TLV named CAPABILITY, formed of multiple sub | ||||
| -TLVs, which allows a router to announce its capabilities within an IS-IS level | ||||
| or the entire routing domain. This document obsoletes RFC 4971.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7981"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7981"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 174" quoteTitle="true" derivedAnchor="RFC8174"> | ||||
| <front> | ||||
| <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
| tle> | ||||
| <author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
| <date month="May" year="2017"/> | ||||
| <abstract> | ||||
| <t indent="0">RFC 2119 specifies common key words that may be used | ||||
| in protocol specifications. This document aims to reduce the ambiguity by clar | ||||
| ifying that only UPPERCASE usage of the key words have the defined special meani | ||||
| ngs.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="14"/> | ||||
| <seriesInfo name="RFC" value="8174"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8362" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 362" quoteTitle="true" derivedAnchor="RFC8362"> | ||||
| <front> | ||||
| <title>OSPFv3 Link State Advertisement (LSA) Extensibility</title> | ||||
| <author fullname="A. Lindem" initials="A." surname="Lindem"/> | ||||
| <author fullname="A. Roy" initials="A." surname="Roy"/> | ||||
| <author fullname="D. Goethals" initials="D." surname="Goethals"/> | ||||
| <author fullname="V. Reddy Vallem" initials="V." surname="Reddy Vall | ||||
| em"/> | ||||
| <author fullname="F. Baker" initials="F." surname="Baker"/> | ||||
| <date month="April" year="2018"/> | ||||
| <abstract> | ||||
| <t indent="0">OSPFv3 requires functional extension beyond what can | ||||
| readily be done with the fixed-format Link State Advertisement (LSA) as describ | ||||
| ed in RFC 5340. Without LSA extension, attributes associated with OSPFv3 links a | ||||
| nd advertised IPv6 prefixes must be advertised in separate LSAs and correlated t | ||||
| o the fixed-format LSAs. This document extends the LSA format by encoding the ex | ||||
| isting OSPFv3 LSA information in Type-Length-Value (TLV) tuples and allowing adv | ||||
| ertisement of additional information with additional TLVs. Backward-compatibilit | ||||
| y mechanisms are also described.</t> | ||||
| <t indent="0">This document updates RFC 5340, "OSPF for IPv6", and | ||||
| RFC 5838, "Support of Address Families in OSPFv3", by providing TLV-based encod | ||||
| ings for the base OSPFv3 unicast support and OSPFv3 address family support.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8362"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8362"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8660" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 660" quoteTitle="true" derivedAnchor="RFC8660"> | ||||
| <front> | ||||
| <title>Segment Routing with the MPLS Data Plane</title> | ||||
| <author fullname="A. Bashandy" initials="A." role="editor" surname=" | ||||
| Bashandy"/> | ||||
| <author fullname="C. Filsfils" initials="C." role="editor" surname=" | ||||
| Filsfils"/> | ||||
| <author fullname="S. Previdi" initials="S." surname="Previdi"/> | ||||
| <author fullname="B. Decraene" initials="B." surname="Decraene"/> | ||||
| <author fullname="S. Litkowski" initials="S." surname="Litkowski"/> | ||||
| <author fullname="R. Shakir" initials="R." surname="Shakir"/> | ||||
| <date month="December" year="2019"/> | ||||
| <abstract> | ||||
| <t indent="0">Segment Routing (SR) leverages the source-routing pa | ||||
| radigm. A node steers a packet through a controlled set of instructions, called | ||||
| segments, by prepending the packet with an SR header. In the MPLS data plane, | ||||
| the SR header is instantiated through a label stack. This document specifies th | ||||
| e forwarding behavior to allow instantiating SR over the MPLS data plane (SR-MPL | ||||
| S).</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8660"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8660"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8665" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 665" quoteTitle="true" derivedAnchor="RFC8665"> | ||||
| <front> | ||||
| <title>OSPF Extensions for Segment Routing</title> | ||||
| <author fullname="P. Psenak" initials="P." role="editor" surname="Ps | ||||
| enak"/> | ||||
| <author fullname="S. Previdi" initials="S." role="editor" surname="P | ||||
| revidi"/> | ||||
| <author fullname="C. Filsfils" initials="C." surname="Filsfils"/> | ||||
| <author fullname="H. Gredler" initials="H." surname="Gredler"/> | ||||
| <author fullname="R. Shakir" initials="R." surname="Shakir"/> | ||||
| <author fullname="W. Henderickx" initials="W." surname="Henderickx"/ | ||||
| > | ||||
| <author fullname="J. Tantsura" initials="J." surname="Tantsura"/> | ||||
| <date month="December" year="2019"/> | ||||
| <abstract> | ||||
| <t indent="0">Segment Routing (SR) allows a flexible definition of | ||||
| end-to-end paths within IGP topologies by encoding paths as sequences of topolo | ||||
| gical subpaths called "segments". These segments are advertised by the link-stat | ||||
| e routing protocols (IS-IS and OSPF).</t> | ||||
| <t indent="0">This document describes the OSPFv2 extensions requir | ||||
| ed for Segment Routing.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8665"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8665"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8666" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 666" quoteTitle="true" derivedAnchor="RFC8666"> | ||||
| <front> | ||||
| <title>OSPFv3 Extensions for Segment Routing</title> | ||||
| <author fullname="P. Psenak" initials="P." role="editor" surname="Ps | ||||
| enak"/> | ||||
| <author fullname="S. Previdi" initials="S." role="editor" surname="P | ||||
| revidi"/> | ||||
| <date month="December" year="2019"/> | ||||
| <abstract> | ||||
| <t indent="0">Segment Routing (SR) allows a flexible definition of | ||||
| end-to-end paths within IGP topologies by encoding paths as sequences of topolo | ||||
| gical subpaths called "segments". These segments are advertised by the link-stat | ||||
| e routing protocols (IS-IS and OSPF).</t> | ||||
| <t indent="0">This document describes the OSPFv3 extensions requir | ||||
| ed for Segment Routing with the MPLS data plane.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8666"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8666"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8667" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 667" quoteTitle="true" derivedAnchor="RFC8667"> | ||||
| <front> | ||||
| <title>IS-IS Extensions for Segment Routing</title> | ||||
| <author fullname="S. Previdi" initials="S." role="editor" surname="P | ||||
| revidi"/> | ||||
| <author fullname="L. Ginsberg" initials="L." role="editor" surname=" | ||||
| Ginsberg"/> | ||||
| <author fullname="C. Filsfils" initials="C." surname="Filsfils"/> | ||||
| <author fullname="A. Bashandy" initials="A." surname="Bashandy"/> | ||||
| <author fullname="H. Gredler" initials="H." surname="Gredler"/> | ||||
| <author fullname="B. Decraene" initials="B." surname="Decraene"/> | ||||
| <date month="December" year="2019"/> | ||||
| <abstract> | ||||
| <t indent="0">Segment Routing (SR) allows for a flexible definitio | ||||
| n of end-to-end paths within IGP topologies by encoding paths as sequences of to | ||||
| pological sub-paths, called "segments". These segments are advertised by the lin | ||||
| k-state routing protocols (IS-IS and OSPF).</t> | ||||
| <t indent="0">This document describes the IS-IS extensions that ne | ||||
| ed to be introduced for Segment Routing operating on an MPLS data plane.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8667"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8667"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8919" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 919" quoteTitle="true" derivedAnchor="RFC8919"> | ||||
| <front> | ||||
| <title>IS-IS Application-Specific Link Attributes</title> | ||||
| <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/> | ||||
| <author fullname="P. Psenak" initials="P." surname="Psenak"/> | ||||
| <author fullname="S. Previdi" initials="S." surname="Previdi"/> | ||||
| <author fullname="W. Henderickx" initials="W." surname="Henderickx"/ | ||||
| > | ||||
| <author fullname="J. Drake" initials="J." surname="Drake"/> | ||||
| <date month="October" year="2020"/> | ||||
| <abstract> | ||||
| <t indent="0">Existing traffic-engineering-related link attribute | ||||
| advertisements have been defined and are used in RSVP-TE deployments. Since the | ||||
| original RSVP-TE use case was defined, additional applications (e.g., Segment R | ||||
| outing Policy and Loop-Free Alternates) that also make use of the link attribute | ||||
| advertisements have been defined. In cases where multiple applications wish to | ||||
| make use of these link attributes, the current advertisements do not support ap | ||||
| plication-specific values for a given attribute, nor do they support indication | ||||
| of which applications are using the advertised value for a given link. This doc | ||||
| ument introduces new link attribute advertisements that address both of these sh | ||||
| ortcomings.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8919"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8919"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8920" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 920" quoteTitle="true" derivedAnchor="RFC8920"> | ||||
| <front> | ||||
| <title>OSPF Application-Specific Link Attributes</title> | ||||
| <author fullname="P. Psenak" initials="P." role="editor" surname="Ps | ||||
| enak"/> | ||||
| <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/> | ||||
| <author fullname="W. Henderickx" initials="W." surname="Henderickx"/ | ||||
| > | ||||
| <author fullname="J. Tantsura" initials="J." surname="Tantsura"/> | ||||
| <author fullname="J. Drake" initials="J." surname="Drake"/> | ||||
| <date month="October" year="2020"/> | ||||
| <abstract> | ||||
| <t indent="0">Existing traffic-engineering-related link attribute | ||||
| advertisements have been defined and are used in RSVP-TE deployments. Since the | ||||
| original RSVP-TE use case was defined, additional applications (e.g., Segment R | ||||
| outing Policy and Loop-Free Alternates) that also make use of the link attribute | ||||
| advertisements have been defined. In cases where multiple applications wish to | ||||
| make use of these link attributes, the current advertisements do not support ap | ||||
| plication-specific values for a given attribute, nor do they support indication | ||||
| of which applications are using the advertised value for a given link. This doc | ||||
| ument introduces new link attribute advertisements in OSPFv2 and OSPFv3 that add | ||||
| ress both of these shortcomings.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8920"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8920"/> | ||||
| </reference> | ||||
| <reference anchor="RFC9352" target="https://www.rfc-editor.org/info/rfc9 | ||||
| 352" quoteTitle="true" derivedAnchor="RFC9352"> | ||||
| <front> | ||||
| <title>IS-IS Extensions to Support Segment Routing over the IPv6 Dat | ||||
| a Plane</title> | ||||
| <author initials="P" surname="Psenak" fullname="Peter Psenak" role=" | ||||
| editor"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="C" surname="Filsfils" fullname="Clarence Filsfils" | ||||
| > | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="A" surname="Bashandy" fullname="Ahmed Bashandy"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="B" surname="Decraene" fullname="Bruno Decraene"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <author initials="Z" surname="Hu" fullname="Zhibo Hu"> | ||||
| <organization showOnFrontPage="true"/> | ||||
| </author> | ||||
| <date year="2023" month="February"/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9352"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9352"/> | ||||
| </reference> | ||||
| </references> | ||||
| <references pn="section-19.2"> | ||||
| <name slugifiedName="name-informative-references">Informative References | ||||
| </name> | ||||
| <reference anchor="RFC2328" target="https://www.rfc-editor.org/info/rfc2 | ||||
| 328" quoteTitle="true" derivedAnchor="RFC2328"> | ||||
| <front> | ||||
| <title>OSPF Version 2</title> | ||||
| <author fullname="J. Moy" initials="J." surname="Moy"/> | ||||
| <date month="April" year="1998"/> | ||||
| <abstract> | ||||
| <t indent="0">This memo documents version 2 of the OSPF protocol. | ||||
| OSPF is a link- state routing protocol. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="STD" value="54"/> | ||||
| <seriesInfo name="RFC" value="2328"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC2328"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3101" target="https://www.rfc-editor.org/info/rfc3 | ||||
| 101" quoteTitle="true" derivedAnchor="RFC3101"> | ||||
| <front> | ||||
| <title>The OSPF Not-So-Stubby Area (NSSA) Option</title> | ||||
| <author fullname="P. Murphy" initials="P." surname="Murphy"/> | ||||
| <date month="January" year="2003"/> | ||||
| <abstract> | ||||
| <t indent="0">This memo documents an optional type of Open Shortes | ||||
| t Path First (OSPF) area that is somewhat humorously referred to as a "not-so-st | ||||
| ubby" area (or NSSA). NSSAs are similar to the existing OSPF stub area configur | ||||
| ation option but have the additional capability of importing AS external routes | ||||
| in a limited fashion. The OSPF NSSA Option was originally defined in RFC 1587. | ||||
| The functional differences between this memo and RFC 1587 are explained in Appe | ||||
| ndix F. All differences, while expanding capability, are backward-compatible in | ||||
| nature. Implementations of this memo and of RFC 1587 will interoperate. [STAND | ||||
| ARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3101"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3101"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3630" target="https://www.rfc-editor.org/info/rfc3 | ||||
| 630" quoteTitle="true" derivedAnchor="RFC3630"> | ||||
| <front> | ||||
| <title>Traffic Engineering (TE) Extensions to OSPF Version 2</title> | ||||
| <author fullname="D. Katz" initials="D." surname="Katz"/> | ||||
| <author fullname="K. Kompella" initials="K." surname="Kompella"/> | ||||
| <author fullname="D. Yeung" initials="D." surname="Yeung"/> | ||||
| <date month="September" year="2003"/> | ||||
| <abstract> | ||||
| <t indent="0">This document describes extensions to the OSPF proto | ||||
| col version 2 to support intra-area Traffic Engineering (TE), using Opaque Link | ||||
| State Advertisements.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3630"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3630"/> | ||||
| </reference> | ||||
| <reference anchor="RFC3906" target="https://www.rfc-editor.org/info/rfc3 | ||||
| 906" quoteTitle="true" derivedAnchor="RFC3906"> | ||||
| <front> | ||||
| <title>Calculating Interior Gateway Protocol (IGP) Routes Over Traff | ||||
| ic Engineering Tunnels</title> | ||||
| <author fullname="N. Shen" initials="N." surname="Shen"/> | ||||
| <author fullname="H. Smit" initials="H." surname="Smit"/> | ||||
| <date month="October" year="2004"/> | ||||
| <abstract> | ||||
| <t indent="0">This document describes how conventional hop-by-hop | ||||
| link-state routing protocols interact with new Traffic Engineering capabilities | ||||
| to create Interior Gateway Protocol (IGP) shortcuts. In particular, this docume | ||||
| nt describes how Dijkstra's Shortest Path First (SPF) algorithm can be adapted s | ||||
| o that link-state IGPs will calculate IP routes to forward traffic over tunnels | ||||
| that are set up by Traffic Engineering. This memo provides information for the | ||||
| Internet community.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="3906"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC3906"/> | ||||
| </reference> | ||||
| <reference anchor="RFC4552" target="https://www.rfc-editor.org/info/rfc4 | ||||
| 552" quoteTitle="true" derivedAnchor="RFC4552"> | ||||
| <front> | ||||
| <title>Authentication/Confidentiality for OSPFv3</title> | ||||
| <author fullname="M. Gupta" initials="M." surname="Gupta"/> | ||||
| <author fullname="N. Melam" initials="N." surname="Melam"/> | ||||
| <date month="June" year="2006"/> | ||||
| <abstract> | ||||
| <t indent="0">This document describes means and mechanisms to prov | ||||
| ide authentication/confidentiality to OSPFv3 using an IPv6 Authentication Header | ||||
| /Encapsulating Security Payload (AH/ESP) extension header. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="4552"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC4552"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5304" target="https://www.rfc-editor.org/info/rfc5 | ||||
| 304" quoteTitle="true" derivedAnchor="RFC5304"> | ||||
| <front> | ||||
| <title>IS-IS Cryptographic Authentication</title> | ||||
| <author fullname="T. Li" initials="T." surname="Li"/> | ||||
| <author fullname="R. Atkinson" initials="R." surname="Atkinson"/> | ||||
| <date month="October" year="2008"/> | ||||
| <abstract> | ||||
| <t indent="0">This document describes the authentication of Interm | ||||
| ediate System to Intermediate System (IS-IS) Protocol Data Units (PDUs) using th | ||||
| e Hashed Message Authentication Codes - Message Digest 5 (HMAC-MD5) algorithm as | ||||
| found in RFC 2104. IS-IS is specified in International Standards Organization ( | ||||
| ISO) 10589, with extensions to support Internet Protocol version 4 (IPv4) descri | ||||
| bed in RFC 1195. The base specification includes an authentication mechanism tha | ||||
| t allows for multiple authentication algorithms. The base specification only spe | ||||
| cifies the algorithm for cleartext passwords. This document replaces RFC 3567.</ | ||||
| t> | ||||
| <t indent="0">This document proposes an extension to that specific | ||||
| ation that allows the use of the HMAC-MD5 authentication algorithm to be used in | ||||
| conjunction with the existing authentication mechanisms. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5304"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5304"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5305" target="https://www.rfc-editor.org/info/rfc5 | ||||
| 305" quoteTitle="true" derivedAnchor="RFC5305"> | ||||
| <front> | ||||
| <title>IS-IS Extensions for Traffic Engineering</title> | ||||
| <author fullname="T. Li" initials="T." surname="Li"/> | ||||
| <author fullname="H. Smit" initials="H." surname="Smit"/> | ||||
| <date month="October" year="2008"/> | ||||
| <abstract> | ||||
| <t indent="0">This document describes extensions to the Intermedia | ||||
| te System to Intermediate System (IS-IS) protocol to support Traffic Engineering | ||||
| (TE). This document extends the IS-IS protocol by specifying new information t | ||||
| hat an Intermediate System (router) can place in Link State Protocol Data Units | ||||
| (LSP). This information describes additional details regarding the state of the | ||||
| network that are useful for traffic engineering computations. [STANDARDS-TRACK] | ||||
| </t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5305"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5305"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5310" target="https://www.rfc-editor.org/info/rfc5 | ||||
| 310" quoteTitle="true" derivedAnchor="RFC5310"> | ||||
| <front> | ||||
| <title>IS-IS Generic Cryptographic Authentication</title> | ||||
| <author fullname="M. Bhatia" initials="M." surname="Bhatia"/> | ||||
| <author fullname="V. Manral" initials="V." surname="Manral"/> | ||||
| <author fullname="T. Li" initials="T." surname="Li"/> | ||||
| <author fullname="R. Atkinson" initials="R." surname="Atkinson"/> | ||||
| <author fullname="R. White" initials="R." surname="White"/> | ||||
| <author fullname="M. Fanto" initials="M." surname="Fanto"/> | ||||
| <date month="February" year="2009"/> | ||||
| <abstract> | ||||
| <t indent="0">This document proposes an extension to Intermediate | ||||
| System to Intermediate System (IS-IS) to allow the use of any cryptographic auth | ||||
| entication algorithm in addition to the already-documented authentication scheme | ||||
| s, described in the base specification and RFC 5304. IS-IS is specified in Inter | ||||
| national Standards Organization (ISO) 10589, with extensions to support Internet | ||||
| Protocol version 4 (IPv4) described in RFC 1195.</t> | ||||
| <t indent="0">Although this document has been written specifically | ||||
| for using the Hashed Message Authentication Code (HMAC) construct along with th | ||||
| e Secure Hash Algorithm (SHA) family of cryptographic hash functions, the method | ||||
| described in this document is generic and can be used to extend IS-IS to suppor | ||||
| t any cryptographic hash function in the future. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5310"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5310"/> | ||||
| </reference> | ||||
| <reference anchor="RFC5340" target="https://www.rfc-editor.org/info/rfc5 | ||||
| 340" quoteTitle="true" derivedAnchor="RFC5340"> | ||||
| <front> | ||||
| <title>OSPF for IPv6</title> | ||||
| <author fullname="R. Coltun" initials="R." surname="Coltun"/> | ||||
| <author fullname="D. Ferguson" initials="D." surname="Ferguson"/> | ||||
| <author fullname="J. Moy" initials="J." surname="Moy"/> | ||||
| <author fullname="A. Lindem" initials="A." surname="Lindem"/> | ||||
| <date month="July" year="2008"/> | ||||
| <abstract> | ||||
| <t indent="0">This document describes the modifications to OSPF to | ||||
| support version 6 of the Internet Protocol (IPv6). The fundamental mechanisms o | ||||
| f OSPF (flooding, Designated Router (DR) election, area support, Short Path Firs | ||||
| t (SPF) calculations, etc.) remain unchanged. However, some changes have been ne | ||||
| cessary, either due to changes in protocol semantics between IPv4 and IPv6, or s | ||||
| imply to handle the increased address size of IPv6. These modifications will nec | ||||
| essitate incrementing the protocol version from version 2 to version 3. OSPF for | ||||
| IPv6 is also referred to as OSPF version 3 (OSPFv3).</t> | ||||
| <t indent="0">Changes between OSPF for IPv4, OSPF Version 2, and O | ||||
| SPF for IPv6 as described herein include the following. Addressing semantics hav | ||||
| e been removed from OSPF packets and the basic Link State Advertisements (LSAs). | ||||
| New LSAs have been created to carry IPv6 addresses and prefixes. OSPF now runs | ||||
| on a per-link basis rather than on a per-IP-subnet basis. Flooding scope for LSA | ||||
| s has been generalized. Authentication has been removed from the OSPF protocol a | ||||
| nd instead relies on IPv6's Authentication Header and Encapsulating Security Pay | ||||
| load (ESP).</t> | ||||
| <t indent="0">Even with larger IPv6 addresses, most packets in OSP | ||||
| F for IPv6 are almost as compact as those in OSPF for IPv4. Most fields and pack | ||||
| et- size limitations present in OSPF for IPv4 have been relaxed. In addition, op | ||||
| tion handling has been made more flexible.</t> | ||||
| <t indent="0">All of OSPF for IPv4's optional capabilities, includ | ||||
| ing demand circuit support and Not-So-Stubby Areas (NSSAs), are also supported i | ||||
| n OSPF for IPv6. [STANDARDS-TRACK]</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="5340"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC5340"/> | ||||
| </reference> | ||||
| <reference anchor="RFC6571" target="https://www.rfc-editor.org/info/rfc6 | ||||
| 571" quoteTitle="true" derivedAnchor="RFC6571"> | ||||
| <front> | ||||
| <title>Loop-Free Alternate (LFA) Applicability in Service Provider ( | ||||
| SP) Networks</title> | ||||
| <author fullname="C. Filsfils" initials="C." role="editor" surname=" | ||||
| Filsfils"/> | ||||
| <author fullname="P. Francois" initials="P." role="editor" surname=" | ||||
| Francois"/> | ||||
| <author fullname="M. Shand" initials="M." surname="Shand"/> | ||||
| <author fullname="B. Decraene" initials="B." surname="Decraene"/> | ||||
| <author fullname="J. Uttaro" initials="J." surname="Uttaro"/> | ||||
| <author fullname="N. Leymann" initials="N." surname="Leymann"/> | ||||
| <author fullname="M. Horneffer" initials="M." surname="Horneffer"/> | ||||
| <date month="June" year="2012"/> | ||||
| <abstract> | ||||
| <t indent="0">In this document, we analyze the applicability of th | ||||
| e Loop-Free Alternate (LFA) method of providing IP fast reroute in both the core | ||||
| and access parts of Service Provider networks. We consider both the link and n | ||||
| ode failure cases, and provide guidance on the applicability of LFAs to differen | ||||
| t network topologies, with special emphasis on the access parts of the network. | ||||
| This document is not an Internet Standards Track specification; it is published | ||||
| for informational purposes.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="6571"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC6571"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7120" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 120" quoteTitle="true" derivedAnchor="RFC7120"> | ||||
| <front> | ||||
| <title>Early IANA Allocation of Standards Track Code Points</title> | ||||
| <author fullname="M. Cotton" initials="M." surname="Cotton"/> | ||||
| <date month="January" year="2014"/> | ||||
| <abstract> | ||||
| <t indent="0">This memo describes the process for early allocation | ||||
| of code points by IANA from registries for which "Specification Required", "RFC | ||||
| Required", "IETF Review", or "Standards Action" policies apply. This process c | ||||
| an be used to alleviate the problem where code point allocation is needed to fac | ||||
| ilitate desired or required implementation and deployment experience prior to pu | ||||
| blication of an RFC, which would normally trigger code point allocation. The pr | ||||
| ocedures in this document are intended to apply only to IETF Stream documents.</ | ||||
| t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="100"/> | ||||
| <seriesInfo name="RFC" value="7120"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7120"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7471" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 471" quoteTitle="true" derivedAnchor="RFC7471"> | ||||
| <front> | ||||
| <title>OSPF Traffic Engineering (TE) Metric Extensions</title> | ||||
| <author fullname="S. Giacalone" initials="S." surname="Giacalone"/> | ||||
| <author fullname="D. Ward" initials="D." surname="Ward"/> | ||||
| <author fullname="J. Drake" initials="J." surname="Drake"/> | ||||
| <author fullname="A. Atlas" initials="A." surname="Atlas"/> | ||||
| <author fullname="S. Previdi" initials="S." surname="Previdi"/> | ||||
| <date month="March" year="2015"/> | ||||
| <abstract> | ||||
| <t indent="0">In certain networks, such as, but not limited to, fi | ||||
| nancial information networks (e.g., stock market data providers), network perfor | ||||
| mance information (e.g., link propagation delay) is becoming critical to data pa | ||||
| th selection.</t> | ||||
| <t indent="0">This document describes common extensions to RFC 363 | ||||
| 0 "Traffic Engineering (TE) Extensions to OSPF Version 2" and RFC 5329 "Traffic | ||||
| Engineering Extensions to OSPF Version 3" to enable network performance informat | ||||
| ion to be distributed in a scalable fashion. The information distributed using O | ||||
| SPF TE Metric Extensions can then be used to make path selection decisions based | ||||
| on network performance.</t> | ||||
| <t indent="0">Note that this document only covers the mechanisms b | ||||
| y which network performance information is distributed. The mechanisms for measu | ||||
| ring network performance information or using that information, once distributed | ||||
| , are outside the scope of this document.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7471"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7471"/> | ||||
| </reference> | ||||
| <reference anchor="RFC7474" target="https://www.rfc-editor.org/info/rfc7 | ||||
| 474" quoteTitle="true" derivedAnchor="RFC7474"> | ||||
| <front> | ||||
| <title>Security Extension for OSPFv2 When Using Manual Key Managemen | ||||
| t</title> | ||||
| <author fullname="M. Bhatia" initials="M." surname="Bhatia"/> | ||||
| <author fullname="S. Hartman" initials="S." surname="Hartman"/> | ||||
| <author fullname="D. Zhang" initials="D." surname="Zhang"/> | ||||
| <author fullname="A. Lindem" initials="A." role="editor" surname="Li | ||||
| ndem"/> | ||||
| <date month="April" year="2015"/> | ||||
| <abstract> | ||||
| <t indent="0">The current OSPFv2 cryptographic authentication mech | ||||
| anism as defined in RFCs 2328 and 5709 is vulnerable to both inter-session and i | ||||
| ntra- session replay attacks when using manual keying. Additionally, the existin | ||||
| g cryptographic authentication mechanism does not cover the IP header. This omis | ||||
| sion can be exploited to carry out various types of attacks.</t> | ||||
| <t indent="0">This document defines changes to the authentication | ||||
| sequence number mechanism that will protect OSPFv2 from both inter-session and i | ||||
| ntra- session replay attacks when using manual keys for securing OSPFv2 protocol | ||||
| packets. Additionally, we also describe some changes in the cryptographic hash | ||||
| computation that will eliminate attacks resulting from OSPFv2 not protecting the | ||||
| IP header.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="7474"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC7474"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 126" quoteTitle="true" derivedAnchor="RFC8126"> | ||||
| <front> | ||||
| <title>Guidelines for Writing an IANA Considerations Section in RFCs | ||||
| </title> | ||||
| <author fullname="M. Cotton" initials="M." surname="Cotton"/> | ||||
| <author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
| <author fullname="T. Narten" initials="T." surname="Narten"/> | ||||
| <date month="June" year="2017"/> | ||||
| <abstract> | ||||
| <t indent="0">Many protocols make use of points of extensibility t | ||||
| hat use constants to identify various protocol parameters. To ensure that the va | ||||
| lues in these fields do not have conflicting uses and to promote interoperabilit | ||||
| y, their allocations are often coordinated by a central record keeper. For IETF | ||||
| protocols, that role is filled by the Internet Assigned Numbers Authority (IANA) | ||||
| .</t> | ||||
| <t indent="0">To make assignments in a given registry prudently, g | ||||
| uidance describing the conditions under which new values should be assigned, as | ||||
| well as when and how modifications to existing values can be made, is needed. Th | ||||
| is document defines a framework for the documentation of these guidelines by spe | ||||
| cification authors, in order to assure that the provided guidance for the IANA C | ||||
| onsiderations is clear and addresses the various issues that are likely in the o | ||||
| peration of a registry.</t> | ||||
| <t indent="0">This is the third edition of this document; it obsol | ||||
| etes RFC 5226.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="BCP" value="26"/> | ||||
| <seriesInfo name="RFC" value="8126"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8126"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8570" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 570" quoteTitle="true" derivedAnchor="RFC8570"> | ||||
| <front> | ||||
| <title>IS-IS Traffic Engineering (TE) Metric Extensions</title> | ||||
| <author fullname="L. Ginsberg" initials="L." role="editor" surname=" | ||||
| Ginsberg"/> | ||||
| <author fullname="S. Previdi" initials="S." role="editor" surname="P | ||||
| revidi"/> | ||||
| <author fullname="S. Giacalone" initials="S." surname="Giacalone"/> | ||||
| <author fullname="D. Ward" initials="D." surname="Ward"/> | ||||
| <author fullname="J. Drake" initials="J." surname="Drake"/> | ||||
| <author fullname="Q. Wu" initials="Q." surname="Wu"/> | ||||
| <date month="March" year="2019"/> | ||||
| <abstract> | ||||
| <t indent="0">In certain networks, such as, but not limited to, fi | ||||
| nancial information networks (e.g., stock market data providers), network-perfor | ||||
| mance criteria (e.g., latency) are becoming as critical to data-path selection a | ||||
| s other metrics.</t> | ||||
| <t indent="0">This document describes extensions to IS-IS Traffic | ||||
| Engineering Extensions (RFC 5305). These extensions provide a way to distribute | ||||
| and collect network-performance information in a scalable fashion. The informati | ||||
| on distributed using IS-IS TE Metric Extensions can then be used to make path-se | ||||
| lection decisions based on network performance.</t> | ||||
| <t indent="0">Note that this document only covers the mechanisms w | ||||
| ith which network-performance information is distributed. The mechanisms for mea | ||||
| suring network performance or acting on that information, once distributed, are | ||||
| outside the scope of this document.</t> | ||||
| <t indent="0">This document obsoletes RFC 7810.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8570"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8570"/> | ||||
| </reference> | ||||
| <reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8 | ||||
| 986" quoteTitle="true" derivedAnchor="RFC8986"> | ||||
| <front> | ||||
| <title>Segment Routing over IPv6 (SRv6) Network Programming</title> | ||||
| <author fullname="C. Filsfils" initials="C." role="editor" surname=" | ||||
| Filsfils"/> | ||||
| <author fullname="P. Camarillo" initials="P." role="editor" surname= | ||||
| "Camarillo"/> | ||||
| <author fullname="J. Leddy" initials="J." surname="Leddy"/> | ||||
| <author fullname="D. Voyer" initials="D." surname="Voyer"/> | ||||
| <author fullname="S. Matsushima" initials="S." surname="Matsushima"/ | ||||
| > | ||||
| <author fullname="Z. Li" initials="Z." surname="Li"/> | ||||
| <date month="February" year="2021"/> | ||||
| <abstract> | ||||
| <t indent="0">The Segment Routing over IPv6 (SRv6) Network Program | ||||
| ming framework enables a network operator or an application to specify a packet | ||||
| processing program by encoding a sequence of instructions in the IPv6 packet hea | ||||
| der.</t> | ||||
| <t indent="0">Each instruction is implemented on one or several no | ||||
| des in the network and identified by an SRv6 Segment Identifier in the packet.</ | ||||
| t> | ||||
| <t indent="0">This document defines the SRv6 Network Programming c | ||||
| oncept and specifies the base set of SRv6 behaviors that enables the creation of | ||||
| interoperable overlays with underlay optimization.</t> | ||||
| </abstract> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="8986"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8986"/> | ||||
| </reference> | ||||
| <reference anchor="I-D.gulkohegde-routing-planes-using-sr" target="https | ||||
| ://datatracker.ietf.org/doc/html/draft-gulkohegde-routing-planes-using-sr-00" qu | ||||
| oteTitle="true" derivedAnchor="ROUTING-PLANES-USING-SR"> | ||||
| <front> | ||||
| <title>Separating Routing Planes using Segment Routing</title> | ||||
| <author initials="S." surname="Hegde" fullname="Shraddha Hegde"> | ||||
| <organization showOnFrontPage="true">Juniper Networks</organizatio | ||||
| n> | ||||
| </author> | ||||
| <author initials="A." surname="Gulko" fullname="Arkadiy Gulko"> | ||||
| <organization showOnFrontPage="true">Thomson Reuters</organization | ||||
| > | ||||
| </author> | ||||
| <date month="March" day="13" year="2017"/> | ||||
| <abstract> | ||||
| <t indent="0"> Many network deployments arrange the network topo | ||||
| logies in two or | ||||
| more planes. The traffic generally uses one of the planes and fails | ||||
| over to the other plane when there are link or node failure. Certain | ||||
| applications require the traffic to be strictly restricted to a | ||||
| particular plane and should not failover to the other plane. This | ||||
| document proposes a solution for the strict planar routing using | ||||
| Segment Routing. | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference. | </t> | |||
| I-D.gulkohegde-routing-planes-using-sr.xml"?> | </abstract> | |||
| </front> | ||||
| <seriesInfo name="Internet-Draft" value="draft-gulkohegde-routing-plan | ||||
| es-using-sr-00"/> | ||||
| <refcontent>Work in Progress</refcontent> | ||||
| </reference> | ||||
| <reference anchor="I-D.ietf-rtgwg-segment-routing-ti-lfa" target="https: | ||||
| //datatracker.ietf.org/doc/html/draft-ietf-rtgwg-segment-routing-ti-lfa-09" quot | ||||
| eTitle="true" derivedAnchor="RTGWG-SEGMENT-ROUTING-TI-LFA"> | ||||
| <front> | ||||
| <title>Topology Independent Fast Reroute using Segment Routing</titl | ||||
| e> | ||||
| <author initials="S." surname="Litkowski" fullname="Stephane Litkows | ||||
| ki"> | ||||
| <organization showOnFrontPage="true">Cisco Systems</organization> | ||||
| </author> | ||||
| <author initials="A." surname="Bashandy" fullname="Ahmed Bashandy"> | ||||
| <organization showOnFrontPage="true">Individual</organization> | ||||
| </author> | ||||
| <author initials="C." surname="Filsfils" fullname="Clarence Filsfils | ||||
| "> | ||||
| <organization showOnFrontPage="true">Cisco Systems</organization> | ||||
| </author> | ||||
| <author initials="P." surname="Francois" fullname="Pierre Francois"> | ||||
| <organization showOnFrontPage="true">INSA Lyon</organization> | ||||
| </author> | ||||
| <author initials="B." surname="Decraene" fullname="Bruno Decraene"> | ||||
| <organization showOnFrontPage="true">Orange</organization> | ||||
| </author> | ||||
| <author initials="D." surname="Voyer" fullname="Daniel Voyer"> | ||||
| <organization showOnFrontPage="true">Bell Canada</organization> | ||||
| </author> | ||||
| <date month="December" day="23" year="2022"/> | ||||
| <abstract> | ||||
| <t indent="0"> This document presents Topology Independent Loop- | ||||
| free Alternate Fast | ||||
| Re-route (TI-LFA), aimed at providing protection of node and | ||||
| adjacency segments within the Segment Routing (SR) framework. This | ||||
| Fast Re-route (FRR) behavior builds on proven IP-FRR concepts being | ||||
| LFAs, remote LFAs (RLFA), and remote LFAs with directed forwarding | ||||
| (DLFA). It extends these concepts to provide guaranteed coverage in | ||||
| any two connected network using a link-state IGP. A key aspect of | ||||
| TI-LFA is the FRR path selection approach establishing protection | ||||
| over the expected post-convergence paths from the point of local | ||||
| repair, reducing the operational need to control the tie-breaks among | ||||
| various FRR options. | ||||
| <?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference. | </t> | |||
| I-D.ietf-rtgwg-segment-routing-ti-lfa.xml"?> | </abstract> | |||
| </front> | ||||
| <seriesInfo name="Internet-Draft" value="draft-ietf-rtgwg-segment-rout | ||||
| ing-ti-lfa-09"/> | ||||
| <refcontent>Work in Progress</refcontent> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section anchor="ACK" numbered="false" toc="include" removeInRFC="false" pn= | ||||
| "section-appendix.a"> | ||||
| <name slugifiedName="name-acknowledgements">Acknowledgements</name> | ||||
| <t indent="0" pn="section-appendix.a-1">This document, among other things, | ||||
| addresses the problem that | ||||
| <xref target="I-D.gulkohegde-routing-planes-using-sr" format="default" sec | ||||
| tionFormat="of" derivedContent="ROUTING-PLANES-USING-SR"/> was trying | ||||
| to solve. All authors of that document agreed to join this document.</t> | ||||
| <t indent="0" pn="section-appendix.a-2">Thanks to <contact fullname="Eric | ||||
| Rosen"/>, <contact fullname="Tony Przygienda"/>, <contact fullname="William Brit | ||||
| to A. J."/>, <contact fullname="Gunter Van de Velde"/>, <contact fullname= | ||||
| "Dirk Goethals"/>, <contact fullname="Manju Sivaji"/>, and <contact fullname="Ba | ||||
| alajee S."/> for their detailed | ||||
| review and excellent comments.</t> | ||||
| <t indent="0" pn="section-appendix.a-3">Thanks to <contact fullname="Cengi | ||||
| z Halit"/> for his review and feedback during | ||||
| the initial phase of the solution definition.</t> | ||||
| <t indent="0" pn="section-appendix.a-4">Thanks to <contact fullname="Kenji | ||||
| Kumaki"/> for his comments.</t> | ||||
| <t indent="0" pn="section-appendix.a-5">Thanks to <contact fullname="Acee | ||||
| Lindem"/> for editorial comments.</t> | ||||
| </section> | ||||
| <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc | ||||
| ="include" pn="section-appendix.b"> | ||||
| <name slugifiedName="name-authors-addresses">Authors' Addresses</name> | ||||
| <author fullname="Peter Psenak" initials="P." role="editor" surname="Psena | ||||
| k"> | ||||
| <organization showOnFrontPage="true">Cisco Systems, Inc.</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <extaddr>Apollo Business Center</extaddr> | ||||
| <street>Mlynske nivy 43</street> | ||||
| <city>Bratislava</city> | ||||
| <code>82109</code> | ||||
| <country>Slovakia</country> | ||||
| <code/> | ||||
| </postal> | ||||
| <email>ppsenak@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Shraddha Hegde" initials="S" surname="Hegde"> | ||||
| <organization showOnFrontPage="true">Juniper Networks, Inc.</organizatio | ||||
| n> | ||||
| <address> | ||||
| <postal> | ||||
| <extaddr>Embassy Business Park</extaddr> | ||||
| <street/> | ||||
| <city>Bangalore</city> | ||||
| <region>KA</region> | ||||
| <code>560093</code> | ||||
| <country>India</country> | ||||
| <code/> | ||||
| </postal> | ||||
| <email>shraddha@juniper.net</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Clarence Filsfils" initials="C." surname="Filsfils"> | ||||
| <organization showOnFrontPage="true">Cisco Systems, Inc.</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street/> | ||||
| <city>Brussels</city> | ||||
| <region/> | ||||
| <code/> | ||||
| <country>Belgium</country> | ||||
| </postal> | ||||
| <email>cfilsfil@cisco.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar"> | ||||
| <organization showOnFrontPage="true">Cisco Systems, Inc</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street/> | ||||
| <city/> | ||||
| <code/> | ||||
| <country>India</country> | ||||
| </postal> | ||||
| <email>ketant.ietf@gmail.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Arkadiy Gulko" initials="A." surname="Gulko"> | ||||
| <organization showOnFrontPage="true">Edward Jones</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street/> | ||||
| <city/> | ||||
| <region/> | ||||
| <code/> | ||||
| <country/> | ||||
| </postal> | ||||
| <email>arkadiy.gulko@edwardjones.com</email> | ||||
| </address> | ||||
| </author> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 285 change blocks. | ||||
| 1935 lines changed or deleted | 3891 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||