| rfc9351xml2.original.xml | rfc9351.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <!DOCTYPE rfc [ | |||
| <?rfc toc="yes"?> | <!ENTITY nbsp " "> | |||
| <?rfc tocompact="yes"?> | <!ENTITY zwsp "​"> | |||
| <?rfc tocdepth="3"?> | <!ENTITY nbhy "‑"> | |||
| <?rfc tocindent="yes"?> | <!ENTITY wj "⁠"> | |||
| <?rfc symrefs="yes"?> | ]> | |||
| <?rfc sortrefs="yes"?> | ||||
| <?rfc comments="yes"?> | ||||
| <?rfc inline="yes"?> | ||||
| <?rfc compact="yes"?> | ||||
| <?rfc subcompact="no"?> | ||||
| <rfc category="std" docName="draft-ietf-idr-bgp-ls-flex-algo-12" | ||||
| ipr="trust200902"> | ||||
| <front> | ||||
| <title abbrev="BGP-LS Extensions for Flexible Algorithm">Flexible | ||||
| Algorithm Advertisement using BGP Link-State</title> | ||||
| <author fullname="Ketan Talaulikar" initials="K." role="editor" | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | |||
| surname="Talaulikar"> | std" consensus="true" docName="draft-ietf-idr-bgp-ls-flex-algo-12" number="9351" | |||
| <organization>Arrcus, Inc</organization> | ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" tocDe | |||
| pth="3" symRefs="true" sortRefs="true" version="3"> | ||||
| <!-- xml2rfc v2v3 conversion 3.14.2 --> | ||||
| <front> | ||||
| <title abbrev="BGP-LS Extensions for Flexible Algorithm">Border Gateway Prot | ||||
| ocol - Link State (BGP-LS) Extensions | ||||
| for Flexible Algorithm Advertisement</title> | ||||
| <seriesInfo name="RFC" value="9351"/> | ||||
| <author fullname="Ketan Talaulikar" initials="K." role="editor" surname="Tal | ||||
| aulikar"> | ||||
| <organization>Cisco Systems</organization> | ||||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city/> | <city/> | |||
| <region/> | <region/> | |||
| <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="Peter Psenak" initials="P." surname="Psenak"> | <author fullname="Peter Psenak" initials="P." surname="Psenak"> | |||
| <organization>Cisco Systems</organization> | <organization>Cisco Systems</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city/> | <city/> | |||
| <region/> | <region/> | |||
| <code/> | <code/> | |||
| <country>Slovakia</country> | <country>Slovakia</country> | |||
| </postal> | </postal> | |||
| <email>ppsenak@cisco.com</email> | <email>ppsenak@cisco.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Shawn Zandi" initials="S" surname="Zandi"> | <author fullname="Shawn Zandi" initials="S" surname="Zandi"> | |||
| <organization>LinkedIn</organization> | <organization>LinkedIn</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city/> | <city/> | |||
| <code/> | <code/> | |||
| <country>United States of America</country> | ||||
| <country>USA</country> | ||||
| </postal> | </postal> | |||
| <email>szandi@linkedin.com</email> | <email>szandi@linkedin.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Gaurav Dawra" initials="G" surname="Dawra"> | <author fullname="Gaurav Dawra" initials="G" surname="Dawra"> | |||
| <organization>LinkedIn</organization> | <organization>LinkedIn</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street/> | <street/> | |||
| <city/> | <city/> | |||
| <code/> | <code/> | |||
| <country>United States of America</country> | ||||
| <country>USA</country> | ||||
| </postal> | </postal> | |||
| <email>gdawra.ietf@gmail.com</email> | <email>gdawra.ietf@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date year="2023" month="February"/> | ||||
| <date year=""/> | <area>rtg</area> | |||
| <workgroup>idr</workgroup> | ||||
| <area>Routing</area> | ||||
| <workgroup>Inter-Domain Routing</workgroup> | ||||
| <keyword>BGP-LS</keyword> | <keyword>BGP-LS</keyword> | |||
| <keyword>Segment Routing</keyword> | <keyword>Segment Routing</keyword> | |||
| <keyword>IS-IS</keyword> | <keyword>IS-IS</keyword> | |||
| <keyword>OSPF</keyword> | <keyword>OSPF</keyword> | |||
| <keyword>OSPFv3</keyword> | <keyword>OSPFv3</keyword> | |||
| <abstract> | <abstract> | |||
| <t>Flexible Algorithm is a solution that allows some routing protocols | <t>Flexible Algorithm is a solution that allows some routing protocols | |||
| (e.g., OSPF and IS-IS) to compute paths over a network based on | (e.g., OSPF and IS-IS) to compute paths over a network based on | |||
| user-defined (and hence, flexible) constraints and metrics. The | user-defined (and hence, flexible) constraints and metrics. The | |||
| computation is performed by routers participating in the specific | computation is performed by routers participating in the specific | |||
| network in a distributed manner using a Flexible Algorithm Definition. | network in a distributed manner using a Flexible Algorithm Definition (FAD | |||
| This Definition is provisioned on one or more routers and propagated | ). | |||
| This definition is provisioned on one or more routers and propagated | ||||
| through the network by OSPF and IS-IS flooding.</t> | through the network by OSPF and IS-IS flooding.</t> | |||
| <t>Border Gateway Protocol - Link State (BGP-LS) enables the collection of | ||||
| <t>BGP Link-State (BGP-LS) enables the collection of various topology | various | |||
| information from the network. This document defines extensions to the | topology information from the network. This document defines extensions to | |||
| BGP-LS address family to advertise the Flexible Algorithm Definition as | the | |||
| BGP-LS address family to advertise the FAD as | ||||
| a part of the topology information from the network.</t> | a part of the topology information from the network.</t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section anchor="INTRO" title="Introduction"> | <section anchor="INTRO" numbered="true" toc="default"> | |||
| <name>Introduction</name> | ||||
| <t>The classical IGP (e.g., OSPF and IS-IS) computation of best paths | <t>The classical IGP (e.g., OSPF and IS-IS) computation of best paths | |||
| over the network is based on the IGP metric assigned to the links in the | over the network is based on the IGP metric assigned to the links in the | |||
| network. Many network deployments use RSVP-TE-based <xref | network. Many network deployments use solutions based on RSVP-TE <xref tar | |||
| target="RFC3209"/> or Segment Routing (SR) Policy-based <xref | get="RFC3209" | |||
| target="RFC8402"/> solutions to enforce traffic over a path that is | format="default"/> or Segment Routing (SR) Policy <xref target="RFC8402" | |||
| format="default"/> to enforce traffic over a path that is | ||||
| computed using different metrics or constraints than the shortest IGP | computed using different metrics or constraints than the shortest IGP | |||
| path. <xref target="I-D.ietf-lsr-flex-algo"/> defines the Flexible | path. <xref target="RFC9350" format="default"/> defines the Flexible | |||
| Algorithm solution that allows IGPs themselves to compute constraint | Algorithm solution that allows IGPs themselves to compute constraint-based | |||
| based paths over the network.</t> | paths over the | |||
| network.</t> | ||||
| <t>Flexible Algorithm is so called because it allows a user the | <t>Flexible Algorithm is called so because it allows a user the | |||
| flexibility to define <list style="symbols"> | flexibility to define:</t> | |||
| <t>the type of calculation to be used (e.g., shortest path)</t> | <ul spacing="normal"> | |||
| <li>the type of calculation to be used (e.g., shortest path),</li> | ||||
| <t>the metric type to be used (e.g., IGP metric or TE metric)</t> | <li>the metric type to be used (e.g., IGP metric or TE metric), and</li> | |||
| <li>the set of constraints to be used (e.g., inclusion or exclusion | ||||
| <t>the set of constraints to be used (e.g., inclusion or exclusion | of certain links using affinities).</li> | |||
| of certain links using affinities)</t> | </ul> | |||
| </list></t> | <t>The operations of the IGP Flexible Algorithm solution are described | |||
| in detail in <xref target="RFC9350" format="default"/>.</t> | ||||
| <t>The operations of the IGP flexible algorithm solution are described | <t>The BGP-LS extensions for SR are defined in <xref target="RFC9085" form | |||
| in detail in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | at="default"/> | |||
| and <xref target="I-D.ietf-idr-bgpls-srv6-ext" format="default"/> for SR-M | ||||
| <t>The BGP-LS extensions for SR are defined in <xref target="RFC9085"/> | PLS and Segment | |||
| and <xref target="I-D.ietf-idr-bgpls-srv6-ext"/> for SR-MPLS and Segment | ||||
| Routing over IPv6 (SRv6), respectively. They include the extensions for | Routing over IPv6 (SRv6), respectively. They include the extensions for | |||
| advertisement of SR information including various types of Segment | advertisement of SR information including various types of Segment | |||
| Identifiers (SIDs) as below: <list style="symbols"> | Identifiers (SIDs) as below: </t> | |||
| <t>SR Algorithm TLV to indicate the participation of a node in a | <ul spacing="normal"> | |||
| flexible algorithm computation</t> | <li>SR Algorithm TLV to indicate the participation of a node in a | |||
| Flexible Algorithm computation</li> | ||||
| <t>Prefix-SID TLV to indicate the association of the Prefix-SIDs to | <li>Prefix-SID TLV to indicate the association of the Prefix-SIDs to | |||
| a specific flexible algorithm for SR-MPLS forwarding</t> | a specific Flexible Algorithm for SR-MPLS forwarding</li> | |||
| <li>SRv6 Locator TLV to indicate the Locator for a specific Flexible | ||||
| <t>SRv6 Locator TLV to indicate the Locator for specific flexible | Algorithm for SRv6 forwarding</li> | |||
| algorithm for SRv6 forwarding</t> | </ul> | |||
| </list></t> | ||||
| <t>This document defines extensions to BGP-LS for the advertisement of | <t>This document defines extensions to BGP-LS for the advertisement of | |||
| the Flexible Algorithm Definition (FAD) information to enable learning | the Flexible Algorithm Definition (FAD) information to enable learning | |||
| of the mapping of the flexible algorithm number to its Definition in | of the mapping of the Flexible Algorithm number to its definition in | |||
| each area/domain of the underlying IGP. This Definition indicates the | each area/domain of the underlying IGP. This definition indicates the | |||
| type of computation used and the constraints for a given flexible | type of computation used and the constraints for a given Flexible | |||
| algorithm. This information can then be used for setting up SR Policy | Algorithm. This information can then be used for setting up SR Policy | |||
| paths end to end across domains by using the appropriate flexible | paths end to end across domains by using the appropriate Flexible-Algorith | |||
| algorithm-specific SIDs in its Segment List <xref target="RFC9256"/>. | m-specific | |||
| For example, picking the flexible algorithm Prefix SID (in case of | SIDs in its segment list <xref target="RFC9256" format="default"/>. | |||
| For example, picking the Flexible Algorithm Prefix-SID (in case of | ||||
| SR-MPLS) or End SID (in case of SRv6) of Area Border Routers (ABRs) or | SR-MPLS) or End SID (in case of SRv6) of Area Border Routers (ABRs) or | |||
| Autonomous System Border Routers (ASBRs) corresponding to a Definition | Autonomous System Border Routers (ASBRs) corresponding to a definition | |||
| that optimizes on the delay metric enables the building of an end to end | that optimizes on the delay metric enables the building of an end-to-end | |||
| low latency path across IGP domains with minimal SIDs in the SID | low-latency path across IGP domains with minimal SIDs in the SID | |||
| list.</t> | list.</t> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Requirements Language"> | <name>Requirements Language</name> | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | 14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDE | |||
| 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | D</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and | |||
| "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as desc | ||||
| ribed in BCP | ||||
| 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" form | ||||
| at="default"/> when, and only | ||||
| when, they appear in all capitals, as shown here.</t> | when, they appear in all capitals, as shown here.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="FA" numbered="true" toc="default"> | ||||
| <section anchor="FA" | <name>Overview of BGP-LS Extensions for Flexible Algorithm</name> | |||
| title="Overview of BGP-LS Extensions for Flexible Algorithm"> | <t>BGP-LS <xref target="RFC7752" format="default"/> specifies the Node Net | |||
| <t>BGP-LS <xref target="RFC7752"/> specifies the Node Network Layer | work Layer | |||
| Reachability Information (NLRI) for the advertisement of nodes along | Reachability Information (NLRI) for the advertisement of nodes, along | |||
| with their attributes using the BGP-LS Attribute, the Link NLRI for the | with their attributes using the BGP-LS Attribute; the Link NLRI for the | |||
| advertisement of links along with their attributes using the BGP-LS | advertisement of links, along with their attributes using the BGP-LS | |||
| Attribute and the Prefix NLRI for the advertisement of prefixes along | Attribute; and the Prefix NLRI for the advertisement of prefixes, along | |||
| with their attributes using the BGP-LS Attribute.</t> | with their attributes using the BGP-LS Attribute.</t> | |||
| <t>The FADs advertised by a node are considered as a node-level | <t>The FADs advertised by a node are considered as a node-level | |||
| attribute and advertised as specified in <xref target="FADTLV"/>.</t> | attribute and advertised as specified in <xref target="FADTLV" format="def | |||
| ault"/>.</t> | ||||
| <t>Various link attributes like affinities and Shared Risk Link Group | <t>Various link attributes, like affinities and Shared Risk Link Group | |||
| (SRLG) that are used during the Flexible Algorithm route calculations in | (SRLG), that are used during the Flexible Algorithm route calculations in | |||
| IS-IS and OSPF are advertised in those protocols using the Application | IS-IS and OSPF are advertised in those protocols using the Application-Spe | |||
| Specific Link Attribute (ASLA) advertisements as described in <xref | cific Link | |||
| target="RFC8919"/>, <xref target="RFC8920"/>, and <xref | Attribute (ASLA) advertisements, as described in <xref target="RFC8919" fo | |||
| target="I-D.ietf-lsr-flex-algo"/>. The BGP-LS extensions for ASLA | rmat="default"/>, <xref target="RFC8920" format="default"/>, and <xref target="R | |||
| advertisements are specified in <xref target="RFC9294"/>.</t> | FC9350" format="default"/>. The BGP-LS extensions for ASLA | |||
| advertisements are specified in <xref target="RFC9294" format="default"/>. | ||||
| </t> | ||||
| <t>The Flexible Algorithm Prefix Metric (FAPM) is considered as a prefix | <t>The Flexible Algorithm Prefix Metric (FAPM) is considered as a prefix | |||
| attribute and advertised as specified in <xref target="FAMETRIC"/>.</t> | attribute and advertised as specified in <xref target="FAMETRIC" format="d efault"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="FADTLV" numbered="true" toc="default"> | ||||
| <section anchor="FADTLV" title="Flexible Algorithm Definition TLV"> | <name>Flexible Algorithm Definition TLV</name> | |||
| <t>This document defines a new optional BGP-LS Attribute TLV associated | <t>This document defines a new optional BGP-LS Attribute TLV associated | |||
| with the Node NLRI called the Flexible Algorithm Definition (FAD) TLV | with the Node NLRI called the "Flexible Algorithm Definition TLV" ("FAD TL V" for short), | |||
| and its format is as follows:</t> | and its format is as follows:</t> | |||
| <figure> | ||||
| <t><figure> | <name>Flexible Algorithm Definition TLV </name> | |||
| <artwork align="center"><![CDATA[ | <artwork align="center" name="" type="" alt=""><![CDATA[ | |||
| 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 Algo | Metric-Type | Calc-Type | Priority | | | Flex Algo | Metric-Type | Calc-Type | Priority | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | sub-TLVs ... // | | sub-TLVs ... // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 1: Flexible Algorithm Definition TLV | ||||
| where: | ||||
| ]]></artwork> | ]]></artwork> | |||
| </figure><list style="symbols"> | </figure> | |||
| <t>Type: 1039</t> | <dl newline="true" spacing="normal"> | |||
| <dt>where:</dt> | ||||
| <t>Length: The total length of the value field (including any | <dd> | |||
| sub-TLVs) in octets. The length value MUST be 4 or larger.</t> | <dl newline="false" spacing="normal"> | |||
| <dt>Type:</dt><dd> 1039</dd> | ||||
| <t>Flexible Algorithm (Flex Algo): Single octet value carrying the | <dt>Length:</dt><dd> The total length of the value field (including | |||
| flexible algorithm number between 128 and 255 inclusive, as defined | any | |||
| in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | sub-TLVs) in octets. The length value <bcp14>MUST</bcp14> be 4 or la | |||
| rger.</dd> | ||||
| <t>Metric-Type: Single octet value carrying the metric type, as | <dt>Flexible Algorithm (Flex Algo):</dt><dd> Single octet value carr | |||
| defined in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | ying the | |||
| Flexible Algorithm number between 128 and 255 inclusive, as defined | ||||
| <t>Calc-Type: Single octet value carrying the calculation type, as | in <xref target="RFC9350" format="default"/>.</dd> | |||
| defined in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | <dt>Metric-Type:</dt><dd> Single octet value carrying the metric typ | |||
| e, as | ||||
| <t>Priority: Single octet value carrying the priority of the FAD | defined in <xref target="RFC9350" format="default"/>.</dd> | |||
| advertisement, as defined in <xref | <dt>Calc-Type:</dt><dd> Single octet value carrying the calculation | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | type, as | |||
| defined in <xref target="RFC9350" format="default"/>.</dd> | ||||
| <t>sub-TLVs: zero or more sub-TLVs may be included as described | <dt>Priority:</dt><dd> Single octet value carrying the priority of t | |||
| further in this section.</t> | he FAD | |||
| </list></t> | advertisement, as defined in <xref target="RFC9350" format="default" | |||
| />.</dd> | ||||
| <dt>sub-TLVs:</dt><dd> Zero or more sub-TLVs may be included, as des | ||||
| cribed | ||||
| further in this section.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t>The FAD TLV that is advertised in the BGP-LS Attribute along with the | <t>The FAD TLV that is advertised in the BGP-LS Attribute along with the | |||
| Node NLRI of a node is derived from the following IGP protocol-specific | Node NLRI of a node is derived from the following IGP protocol-specific | |||
| advertisements:<list style="symbols"> | advertisements:</t> | |||
| <t>In the case of IS-IS, from the IS-IS Flexible Algorithm | <ul spacing="normal"> | |||
| Definition sub-TLV in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | <li>in the case of IS-IS, from the IS-IS Flexible Algorithm | |||
| Definition sub-TLV in <xref target="RFC9350" format="default"/></li> | ||||
| <t>In the case of OSPFv2/OSPFv3, from the OSPF Flexible Algorithm | <li>in the case of OSPFv2/OSPFv3, from the OSPF Flexible Algorithm | |||
| Definition TLV in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | Definition TLV in <xref target="RFC9350" format="default"/></li> | |||
| </list></t> | </ul> | |||
| <t>The BGP-LS Attribute associated with a Node NLRI may include one or | <t>The BGP-LS Attribute associated with a Node NLRI may include one or | |||
| more FAD TLVs corresponding to the FAD for each algorithm that the | more FAD TLVs corresponding to the FAD for each algorithm that the | |||
| particular node is advertising.</t> | particular node is advertising.</t> | |||
| <t>The following subsections define sub-TLVs of the FAD TLV.</t> | ||||
| <t>The following sub-sections define sub-TLVs of the FAD TLV.</t> | <section anchor="FADAFFINITYEXCLANY" numbered="true" toc="default"> | |||
| <name>Flexible Algorithm Exclude-Any Affinity Sub-TLV</name> | ||||
| <section anchor="FADAFFINITYEXCLANY" | <t>The Flexible Algorithm Exclude-Any Affinity sub-TLV is an optional | |||
| title="Flexible Algorithm Exclude Any Affinity Sub-TLV"> | ||||
| <t>The Flexible Algorithm Exclude Any Affinity sub-TLV is an optional | ||||
| sub-TLV that is used to carry the affinity constraints associated with | sub-TLV that is used to carry the affinity constraints associated with | |||
| the FAD and enable the exclusion of links carrying any of the | the FAD and enable the exclusion of links carrying any of the | |||
| specified affinities from the computation of the specific algorithm as | specified affinities from the computation of the specific algorithm, as | |||
| described in <xref target="I-D.ietf-lsr-flex-algo"/>. The affinity is | described in <xref target="RFC9350" format="default"/>. The affinity is | |||
| expressed in terms of Extended Admin Group (EAG) as defined in <xref | expressed in terms of the Extended Admin Group (EAG), as defined in <xre | |||
| target="RFC7308"/>.</t> | f | |||
| target="RFC7308" format="default"/>.</t> | ||||
| <t>The sub-TLV has the following format:</t> | ||||
| <t>The sub-TLV has the following format:<figure align="center"> | <figure> | |||
| <artwork align="left"><![CDATA[ 0 1 | <name>Flexible Algorithm Exclude-Any Affinity Sub-TLV</name> | |||
| 2 3 | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Exclude-Any EAG (variable) // | | Exclude-Any EAG (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: Flexible Algorithm Exclude Any Affinity sub-TLV | ||||
| where: | ||||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <dl newline="true" spacing="normal"> | ||||
| <t><list style="symbols"> | <dt>where:</dt> | |||
| <t>Type: 1040</t> | <dd> | |||
| <dl newline="false"> | ||||
| <t>Length: The total length of the value field in octets dependent | <dt>Type:</dt><dd>1040</dd> | |||
| on the size of the EAG. It MUST be a non-zero value and a multiple | <dt>Length:</dt><dd>The total length of the value field in octets | |||
| of 4.</t> | dependent | |||
| on the size of the EAG. It <bcp14>MUST</bcp14> be a non-zero value | ||||
| <t>Exclude-Any EAG: the EAG value as defined in <xref | and a multiple | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | of 4.</dd> | |||
| </list></t> | <dt>Exclude-Any EAG:</dt><dd>The EAG value, as defined in <xref ta | |||
| rget="RFC9350" | ||||
| <t>The information in the Flexible Algorithm Exclude Any Affinity | format="default"/>.</dd> | |||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t>The information in the Flexible Algorithm Exclude-Any Affinity | ||||
| sub-TLV is derived from the IS-IS and OSPF protocol-specific Flexible | sub-TLV is derived from the IS-IS and OSPF protocol-specific Flexible | |||
| Algorithm Exclude Admin Group sub-TLV as defined in <xref | Algorithm Exclude Admin Group sub-TLV, as defined in <xref target="RFC93 | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | 50" format="default"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="FADAFFINITYINCLANY" numbered="true" toc="default"> | ||||
| <section anchor="FADAFFINITYINCLANY" | <name>Flexible Algorithm Include-Any Affinity Sub-TLV</name> | |||
| title="Flexible Algorithm Include Any Affinity Sub-TLV"> | <t>The Flexible Algorithm Include-Any Affinity sub-TLV is an optional | |||
| <t>The Flexible Algorithm Include Any Affinity sub-TLV is an optional | ||||
| sub-TLV that is used to carry the affinity constraints associated with | sub-TLV that is used to carry the affinity constraints associated with | |||
| the FAD and enable the inclusion of links carrying any of the | the FAD and enable the inclusion of links carrying any of the | |||
| specified affinities in the computation of the specific algorithm as | specified affinities in the computation of the specific algorithm, as | |||
| described in <xref target="I-D.ietf-lsr-flex-algo"/>. The affinity is | described in <xref target="RFC9350" format="default"/>. The affinity is | |||
| expressed in terms of Extended Admin Group (EAG) as defined in <xref | expressed in terms of the EAG, as defined in <xref | |||
| target="RFC7308"/>.</t> | target="RFC7308" format="default"/>.</t> | |||
| <t>The sub-TLV has the following format:</t> | ||||
| <t>The sub-TLV has the following format:<figure align="center"> | <figure> | |||
| <artwork align="left"><![CDATA[ 0 1 | <name>Flexible Algorithm Include-Any Affinity Sub-TLV</name> | |||
| 2 3 | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Include-Any EAG (variable) // | | Include-Any EAG (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: Flexible Algorithm Include Any Affinity sub-TLV | ||||
| where: | ||||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <dl newline="true" spacing="normal"> | ||||
| <t><list style="symbols"> | <dt>where:</dt> | |||
| <t>Type: 1041</t> | <dd> | |||
| <dl newline="false" spacing="normal"> | ||||
| <t>Length: The total length of the value field in octets dependent | <dt>Type:</dt><dd>1041</dd> | |||
| on the size of the EAG. It MUST be a non-zero value and a multiple | <dt>Length:</dt><dd>The total length of the value field in octets | |||
| of 4.</t> | dependent | |||
| on the size of the EAG. It <bcp14>MUST</bcp14> be a non-zero value | ||||
| <t>Include-Any EAG: the EAG value as defined in <xref | and a multiple | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | of 4.</dd> | |||
| </list></t> | <dt>Include-Any EAG:</dt><dd>The EAG value, as defined in <xref ta | |||
| rget="RFC9350" | ||||
| <t>The information in the Flexible Algorithm Include Any Affinity | format="default"/>.</dd> | |||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t>The information in the Flexible Algorithm Include-Any Affinity | ||||
| sub-TLV is derived from the IS-IS and OSPF protocol-specific Flexible | sub-TLV is derived from the IS-IS and OSPF protocol-specific Flexible | |||
| Algorithm Include-Any Admin Group sub-TLV as defined in <xref | Algorithm Include-Any Admin Group sub-TLV, as defined in <xref target="R | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | FC9350" format="default"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="FADAFFINITYINCLALL" numbered="true" toc="default"> | ||||
| <section anchor="FADAFFINITYINCLALL" | <name>Flexible Algorithm Include-All Affinity Sub-TLV</name> | |||
| title="Flexible Algorithm Include All Affinity Sub-TLV"> | <t>The Flexible Algorithm Include-All Affinity sub-TLV is an optional | |||
| <t>The Flexible Algorithm Include All Affinity sub-TLV is an optional | ||||
| sub-TLV that is used to carry the affinity constraints associated with | sub-TLV that is used to carry the affinity constraints associated with | |||
| the FAD and enable the inclusion of links carrying all of the | the FAD and enable the inclusion of links carrying all of the | |||
| specified affinities in the computation of the specific algorithm as | specified affinities in the computation of the specific algorithm, as | |||
| described in <xref target="I-D.ietf-lsr-flex-algo"/>. The affinity is | described in <xref target="RFC9350" format="default"/>. The affinity is | |||
| expressed in terms of Extended Admin Group (EAG) as defined in <xref | expressed in terms of the EAG, as defined in <xref target="RFC7308" form | |||
| target="RFC7308"/>.</t> | at="default"/>.</t> | |||
| <t>The sub-TLV has the following format:</t> | ||||
| <t>The sub-TLV has the following format:<figure align="center"> | <figure> | |||
| <artwork align="left"><![CDATA[ 0 1 | <name>Flexible Algorithm Include-All Affinity Sub-TLV</name> | |||
| 2 3 | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Include-All EAG (variable) // | | Include-All EAG (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: Flexible Algorithm Include All Affinity sub-TLV | ||||
| where: | ||||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <dl newline="true" spacing="normal"> | ||||
| <t><list style="symbols"> | <dt>where:</dt> | |||
| <t>Type: 1042</t> | <dd> | |||
| <dl newline="false" spacing="normal"> | ||||
| <t>Length: The total length of the value field in octets dependent | <dt>Type:</dt><dd>1042</dd> | |||
| on the size of the EAG. It MUST be a non-zero value and a multiple | <dt>Length:</dt><dd>The total length of the value field in octets | |||
| of 4.</t> | dependent | |||
| on the size of the EAG. It <bcp14>MUST</bcp14> be a non-zero value | ||||
| <t>Include-All EAG: the EAG value as defined in <xref | and a multiple | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | of 4.</dd> | |||
| </list></t> | <dt>Include-All EAG:</dt><dd>The EAG value, as defined in <xref ta | |||
| rget="RFC9350" | ||||
| <t>The information in the Flexible Algorithm Include All Affinity | format="default"/>.</dd> | |||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t>The information in the Flexible Algorithm Include-All Affinity | ||||
| sub-TLV is derived from the IS-IS and OSPF protocol-specific Flexible | sub-TLV is derived from the IS-IS and OSPF protocol-specific Flexible | |||
| Algorithm Include-All Admin Group sub-TLV as defined in <xref | Algorithm Include-All Admin Group sub-TLV, as defined in <xref target="R | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | FC9350" format="default"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="FADFLAGS" numbered="true" toc="default"> | ||||
| <section anchor="FADFLAGS" | <name>Flexible Algorithm Definition Flags Sub-TLV</name> | |||
| title="Flexible Algorithm Definition Flags Sub-TLV"> | ||||
| <t>The Flexible Algorithm Definition Flags sub-TLV is an optional | <t>The Flexible Algorithm Definition Flags sub-TLV is an optional | |||
| sub-TLV that is used to carry the flags associated with the FAD that | sub-TLV that is used to carry the flags associated with the FAD that | |||
| are used in the computation of the specific algorithm as described in | are used in the computation of the specific algorithm, as described in | |||
| <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | <xref target="RFC9350" format="default"/>.</t> | |||
| <t>The sub-TLV has the following format:</t> | ||||
| <t>The sub-TLV has the following format:<figure align="center"> | <figure> | |||
| <artwork align="left"><![CDATA[ 0 1 | <name>Flexible Algorithm Definition Flags Sub-TLV</name> | |||
| 2 3 | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 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 (variable) // | | Flags (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 5: Flexible Algorithm Definition Flags sub-TLV | ||||
| where: | ||||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <dl newline="true" spacing="normal"> | ||||
| <t><list style="symbols"> | <dt>where:</dt> | |||
| <t>Type: 1043</t> | <dd> | |||
| <dl newline="false" spacing="normal"> | ||||
| <t>Length: The total length of the value field in octets dependent | <dt>Type:</dt><dd>1043</dd> | |||
| on the size of the Flags. It MUST be a non-zero value and a | <dt>Length:</dt><dd>The total length of the value field in octets | |||
| multiple of 4.</t> | dependent | |||
| on the size of the flags. It <bcp14>MUST</bcp14> be a non-zero val | ||||
| <t>Flags: the bitmask used to represent the flags for the FAD, as | ue and a | |||
| defined in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | multiple of 4.</dd> | |||
| </list></t> | <dt>Flags:</dt><dd>The bitmask used to represent the flags for the | |||
| FAD, as | ||||
| defined in <xref target="RFC9350" format="default"/>.</dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t>The information in the Flexible Algorithm Definition Flags sub-TLV | <t>The information in the Flexible Algorithm Definition Flags sub-TLV | |||
| is derived from the IS-IS and OSPF protocol-specific Flexible | is derived from the IS-IS and OSPF protocol-specific Flexible | |||
| Algorithm Definition Flags sub-TLV as defined in <xref | Algorithm Definition Flags sub-TLV, as defined in <xref target="RFC9350" | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | format="default"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="FADSRLGEXCL" numbered="true" toc="default"> | ||||
| <section anchor="FADSRLGEXCL" | <name>Flexible Algorithm Exclude SRLG Sub-TLV</name> | |||
| title="Flexible Algorithm Exclude SRLG Sub-TLV"> | ||||
| <t>The Flexible Algorithm Exclude SRLG sub-TLV is an optional sub-TLV | <t>The Flexible Algorithm Exclude SRLG sub-TLV is an optional sub-TLV | |||
| that is used to carry the Shared Risk Link Group (SRLG) information | that is used to carry the Shared Risk Link Group (SRLG) information | |||
| associated with the FAD and enable the exclusion of links that are | associated with the FAD and enable the exclusion of links that are | |||
| associated with any of the specified SRLG in the computation of the | associated with any of the specified SRLG in the computation of the | |||
| specific algorithm as described in <xref | specific algorithm, as described in <xref target="RFC9350" format="defau | |||
| target="I-D.ietf-lsr-flex-algo"/>. The SRLGs associated with a link | lt"/>. The SRLGs associated with a link | |||
| are carried in the BGP-LS Shared Link Risk Group (TLV 1096) <xref | are carried in the BGP-LS Shared Risk Link Group (TLV 1096) <xref target | |||
| target="RFC7752"/>.</t> | ="RFC7752" format="default"/>.</t> | |||
| <t>The sub-TLV has the following format:</t> | ||||
| <t>The sub-TLV has the following format:<figure align="center"> | <figure> | |||
| <artwork align="left"><![CDATA[ 0 1 | <name>Flexible Algorithm Exclude SRLG Sub-TLV</name> | |||
| 2 3 | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 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 Values (variable) // | | Shared Risk Link Group Values (variable) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 6: Flexible Algorithm Exclude SRLG sub-TLV | ||||
| where: | ||||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <dl newline="true" spacing="normal"> | ||||
| <t><list style="symbols"> | <dt>where:</dt> | |||
| <t>Type: 1045</t> | <dd> | |||
| <dl newline="false" spacing="normal"> | ||||
| <t>Length: The total length of the value field in octets dependent | <dt>Type:</dt><dd>1045</dd> | |||
| on the number of SRLG values carried. It MUST be a non-zero value | <dt>Length:</dt><dd>The total length of the value field in octets | |||
| and a multiple of 4.</t> | dependent | |||
| on the number of SRLG values carried. It <bcp14>MUST</bcp14> be a | ||||
| <t>Shared Risk Link Group Values: One or more SRLG values, each of | non-zero value | |||
| 4 octet size, as defined in <xref | and a multiple of 4.</dd> | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | <dt>Shared Risk Link Group Values:</dt><dd>One or more SRLG values | |||
| </list></t> | , each with a | |||
| size of 4 octets, as defined in <xref target="RFC9350" format="def | ||||
| <t>The information in the Flexible Algorithm SRLG Exclude sub-TLV is | ault"/>.</dd> | |||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t>The information in the Flexible Algorithm Exclude SRLG sub-TLV is | ||||
| derived from the IS-IS and OSPF protocol-specific Flexible Algorithm | derived from the IS-IS and OSPF protocol-specific Flexible Algorithm | |||
| Exclude SRLG sub-TLV as defined in <xref | Exclude SRLG sub-TLV, as defined in <xref target="RFC9350" format="defau | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | lt"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="FADUNK" numbered="true" toc="default"> | ||||
| <section anchor="FADUNK" title="Flexible Algorithm Unsupported Sub-TLV"> | <name>Flexible Algorithm Unsupported Sub-TLV</name> | |||
| <t>The OSPF and IS-IS signaling for FAD allows for extensions via new | <t>The OSPF and IS-IS signaling for FAD allows for extensions via new | |||
| sub-TLVs under the respective IGP's Flexible Algorithm Definition TLV. | sub-TLVs under the respective IGP's Flexible Algorithm Definition TLV. | |||
| As specified in section 5.3 of <xref | As specified in <xref target="RFC9350" format="default" sectionFormat="o | |||
| target="I-D.ietf-lsr-flex-algo"/>, it is important that the entire FAD | f" | |||
| be understood by anyone using it for computation purpose. Therefore, | section="5.3"/>, it is important that the entire FAD | |||
| the FAD is different from most other protocol extensions where the | be understood by anyone using it for computation purposes. Therefore, | |||
| the FAD is different from most other protocol extensions, where the | ||||
| skipping or ignoring of unsupported sub-TLV information does not | skipping or ignoring of unsupported sub-TLV information does not | |||
| affect the base behavior.</t> | affect the base behavior.</t> | |||
| <t>The Flexible Algorithm Unsupported sub-TLV is an optional sub-TLV | <t>The Flexible Algorithm Unsupported sub-TLV is an optional sub-TLV | |||
| that is used to indicate the presence of unsupported FAD sub-TLVs. The | that is used to indicate the presence of unsupported FAD sub-TLVs. The | |||
| need for this sub-TLV arises when the BGP-LS implementation on the | need for this sub-TLV arises when the BGP-LS implementation on the | |||
| advertising node does not support one or more of the FAD sub-TLVs | advertising node does not support one or more of the FAD sub-TLVs | |||
| present in the IGP advertisement.</t> | present in the IGP advertisement.</t> | |||
| <t>The sub-TLV has the following format:</t> | ||||
| <t>The sub-TLV has the following format:<figure align="center"> | <figure> | |||
| <artwork align="left"><![CDATA[ 0 1 | <name>Flexible Algorithm Unsupported Sub-TLV</name> | |||
| 2 3 | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Protocol-ID | sub-TLV types (variable) ... // | | Protocol-ID | sub-TLV types (variable) ... // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 7: Flexible Algorithm Unsupported sub-TLV | ||||
| where: | ||||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <dl newline="true" spacing="normal"> | ||||
| <t><list style="symbols"> | <dt>where:</dt> | |||
| <t>Type: TBD (Note to Editor: The code point allocation, once made | <dd> | |||
| by IANA, needs to be updated here - refer to <xref | <dl newline="false" spacing="normal"> | |||
| target="IANA"/>)</t> | <dt>Type:</dt><dd>1046</dd> | |||
| <dt>Length:</dt><dd> The total length of the value field in octets | ||||
| <t>Length: The total length of the value field in octets | (including any included sub-TLV types).</dd> | |||
| (including any included sub-TLV types).</t> | <dt>Protocol-ID:</dt><dd> Indicates the BGP-LS Protocol-ID of the pr | |||
| otocol | ||||
| <t>Protocol-ID: Indicates the BGP-LS Protocol-ID of the protocol | ||||
| from which the FAD is being advertised via BGP-LS. The values are | from which the FAD is being advertised via BGP-LS. The values are | |||
| from the "BGP-LS Protocol-IDs" registry | from the IANA "BGP-LS Protocol-IDs" subregistry | |||
| <https://www.iana.org/assignments/bgp-ls-parameters/bgp-ls-parame | under the "Border Gateway Protocol - Link State (BGP-LS) Parameters" | |||
| ters.xhtml#protocol-ids> | registry <eref target="https://www.iana.org/assignments/bgp-ls-parame | |||
| under the IANA BGP-LS Parameters registry.</t> | ters/" brackets="angle"/>.</dd> | |||
| <dt>sub-TLV types:</dt><dd> Zero or more sub-TLV types that are not | ||||
| <t>sub-TLV types: Zero or more sub-TLV types that are not | ||||
| supported by the node originating the BGP-LS advertisement. The | supported by the node originating the BGP-LS advertisement. The | |||
| size of each sub-TLV type depends on the protocol indicated by the | size of each sub-TLV type depends on the protocol indicated by the | |||
| Protocol-ID field. For example, for IS-IS each sub-TLV type would | Protocol-ID field. For example, for IS-IS, each sub-TLV type would | |||
| be of size 1 octet while for OSPF each sub-TLV type would be of | be 1 octet in size, while for OSPF, each sub-TLV type would be 2 oct | |||
| size 2 octets.</t> | ets | |||
| </list></t> | in size.</dd> | |||
| </dl> | ||||
| <t>The node originating the advertisement MUST include the Flexible | </dd> | |||
| </dl> | ||||
| <t>The node originating the advertisement <bcp14>MUST</bcp14> include th | ||||
| e Flexible | ||||
| Algorithm Unsupported sub-TLV when it comes across an unsupported | Algorithm Unsupported sub-TLV when it comes across an unsupported | |||
| sub-TLV in the corresponding FAD in the IS-IS and OSPF advertisement. | sub-TLV in the corresponding FAD in the IS-IS and OSPF advertisement. | |||
| When advertising the Flexible Algorithm Unsupported sub-TLV, the | When advertising the Flexible Algorithm Unsupported sub-TLV, the | |||
| protocol-specific sub-TLV types that are not supported SHOULD be | protocol-specific sub-TLV types that are not supported <bcp14>SHOULD</bc p14> be | |||
| included. This information serves as a diagnostic aid.</t> | included. This information serves as a diagnostic aid.</t> | |||
| <t>The discussion on the use of the FAD information by the consumers | <t>The discussion on the use of the FAD information by the consumers | |||
| of the BGP-LS information is beyond the scope of this document. | of the BGP-LS information is beyond the scope of this document. | |||
| However, it is RECOMMENDED that the choice of the node used for | However, it is <bcp14>RECOMMENDED</bcp14> that the choice of the node us ed for | |||
| originating the IGP topology information into BGP-LS be made such that | originating the IGP topology information into BGP-LS be made such that | |||
| the advertising node supports all the FAD extensions in use in its | the advertising node supports all the FAD extensions in use in its | |||
| part of the network. This avoids the scenario where an incomplete FAD | part of the network. This avoids the scenario where an incomplete FAD | |||
| gets advertised via BGP-LS.</t> | gets advertised via BGP-LS.</t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="FAMETRIC" numbered="true" toc="default"> | ||||
| <section anchor="FAMETRIC" title="Flexible Algorithm Prefix Metric TLV"> | <name>Flexible Algorithm Prefix Metric TLV</name> | |||
| <t>This document defines a new optional BGP-LS Attribute TLV associated | <t>This document defines a new optional BGP-LS Attribute TLV associated | |||
| with the Prefix NLRI called the Flexible Algorithm Prefix Metric (FAPM) | with the Prefix NLRI called the "Flexible Algorithm Prefix Metric TLV | |||
| TLV and its format is as follows:</t> | ("FAPM TLV" for short), and its format is as follows:</t> | |||
| <figure> | ||||
| <t><figure align="center"> | <name>Flexible Algorithm Prefix Metric TLV</name> | |||
| <artwork align="left"><![CDATA[ 0 1 | <artwork align="left" name="" type="" alt=""><![CDATA[ 0 | |||
| 2 3 | 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Type | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flex Algo | Flags | Reserved | | | Flex Algo | Flags | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Metric | | | Metric | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 8: Flexible Algorithm Prefix Metric TLV | ||||
| where: | ||||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <dl newline="true" spacing="normal"> | ||||
| <t><list style="symbols"> | <dt>where:</dt> | |||
| <t>Type: 1044</t> | <dd> | |||
| <dl newline="false" spacing="normal"> | ||||
| <t>Length: 8 octets.</t> | <dt>Type:</dt><dd>1044</dd> | |||
| <dt>Length:</dt><dd>8 octets</dd> | ||||
| <t>Flexible Algorithm (Flex Algo): Single octet value carrying the | <dt>Flexible Algorithm (Flex Algo):</dt><dd>Single octet value carry | |||
| flexible algorithm number between 128 and 255 inclusive, as defined | ing the | |||
| in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | Flexible Algorithm number between 128 and 255 inclusive, as defined | |||
| in <xref target="RFC9350" format="default"/>.</dd> | ||||
| <t>Flags: single octet value and only applicable for OSPF as defined | <dt>Flags:</dt><dd>Single octet value and only applicable for OSPF, | |||
| in <xref target="I-D.ietf-lsr-flex-algo"/>. The value MUST be set to | as defined | |||
| 0 for IS-IS.</t> | in <xref target="RFC9350" format="default"/>. The value <bcp14>MUST< | |||
| /bcp14> be set | ||||
| <t>Reserved: 2 octet value that MUST be set to 0 by the originator | to 0 for IS-IS.</dd> | |||
| and MUST be ignored by the receiver.</t> | <dt>Reserved:</dt><dd>2-octet value that <bcp14>MUST</bcp14> be set | |||
| to 0 by the | ||||
| <t>Metric: 4 octets field to carry the metric information.</t> | originator and <bcp14>MUST</bcp14> be ignored by the receiver.</dd> | |||
| </list></t> | <dt>Metric:</dt><dd>4-octet field to carry the metric information.</ | |||
| dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| <t>The FAPM TLV that is advertised in the BGP-LS Attribute along with | <t>The FAPM TLV that is advertised in the BGP-LS Attribute along with | |||
| the Prefix NLRI from a node is derived from the following IGP | the Prefix NLRI from a node is derived from the following IGP | |||
| protocol-specific advertisements:<list style="symbols"> | protocol-specific advertisements:</t> | |||
| <t>In the case of IS-IS, from the IS-IS Flexible Algorithm Prefix | <ul spacing="normal"> | |||
| Metric sub-TLV in <xref target="I-D.ietf-lsr-flex-algo"/>.</t> | <li>in the case of IS-IS, from the IS-IS Flexible Algorithm Prefix | |||
| Metric sub-TLV in <xref target="RFC9350" format="default"/></li> | ||||
| <t>In the case of OSPFv2/OSPFv3, from the OSPF Flexible Algorithm | <li>in the case of OSPFv2/OSPFv3, from the OSPF Flexible Algorithm | |||
| Prefix Metric sub-TLV in <xref | Prefix Metric sub-TLV in <xref target="RFC9350" format="default"/></li> | |||
| target="I-D.ietf-lsr-flex-algo"/>.</t> | </ul> | |||
| </list></t> | ||||
| <t>The BGP-LS Attribute associated with a Prefix NLRI may include one or | <t>The BGP-LS Attribute associated with a Prefix NLRI may include one or | |||
| more FAPM TLVs corresponding to the Flexible Algorithm Prefix Metric for | more FAPM TLVs corresponding to the Flexible Algorithm Prefix Metric for | |||
| each algorithm associated with that particular prefix.</t> | each algorithm associated with that particular prefix.</t> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t>IANA has allocated code points from the registry "BGP-LS Node | <t>IANA has allocated code points in the "BGP-LS Node | |||
| Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs" | Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs" regist | |||
| <https://www.iana.org/assignments/bgp-ls-parameters/bgp-ls-parameters.x | ry | |||
| html#node-descriptor-link-descriptor-prefix-descriptor-attribute-tlv> | <eref target="https://www.iana.org/assignments/bgp-ls-parameters" brackets | |||
| ="angle"/> | ||||
| based on the table below for the TLVs/sub-TLVs introduced by this | based on the table below for the TLVs/sub-TLVs introduced by this | |||
| document. This document requests IANA to allocate the pending code point | document.</t> | |||
| for the Flexible Algorithm Unsupported sub-TLV as suggested below. The | ||||
| column "IS-IS TLV/Sub-TLV" defined in the registry does not require any | ||||
| value and should be left empty.</t> | ||||
| <figure> | ||||
| <artwork align="center"><![CDATA[ | ||||
| +------------+-----------------------------------------+ | ||||
| | Code Point | Description | | ||||
| +------------+-----------------------------------------+ | ||||
| | 1039 | Flexible Algorithm Definition | | ||||
| | 1040 | Flexible Algorithm Exclude Any Affinity | | ||||
| | 1041 | Flexible Algorithm Include Any Affinity | | ||||
| | 1042 | Flexible Algorithm Include All Affinity | | ||||
| | 1043 | Flexible Algorithm Definition Flags | | ||||
| | 1044 | Flexible Algorithm Prefix Metric | | ||||
| | 1045 | Flexible Algorithm Exclude SRLG | | ||||
| | 1046 (Sugg)| Flexible Algorithm Unsupported | | ||||
| +------------+-----------------------------------------+ | ||||
| Table 1: Flexible Algorithm Code Points | ||||
| ]]></artwork> | <table anchor="algorithm"> | |||
| </figure> | <name>Flexible Algorithm Code Points</name> | |||
| <thead> | ||||
| <tr> | ||||
| <th>TLV Code Point</th> | ||||
| <th>Description</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td>1039</td> | ||||
| <td>Flexible Algorithm Definition</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1040</td> | ||||
| <td>Flexible Algorithm Exclude-Any Affinity</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1041</td> | ||||
| <td>Flexible Algorithm Include-Any Affinity</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1042</td> | ||||
| <td>Flexible Algorithm Include-All Affinity</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1043</td> | ||||
| <td>Flexible Algorithm Definition Flags</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1044</td> | ||||
| <td>Flexible Algorithm Prefix Metric</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1045</td> | ||||
| <td>Flexible Algorithm Exclude SRLG</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td>1046</td> | ||||
| <td>Flexible Algorithm Unsupported</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="Manageability" numbered="true" toc="default"> | ||||
| <section anchor="Manageability" title="Manageability Considerations"> | <name>Manageability Considerations</name> | |||
| <t>The new protocol extensions introduced in this document augment the | <t>The new protocol extensions introduced in this document augment the | |||
| existing IGP topology information that can be distributed via <xref | existing IGP topology information that can be distributed via <xref target | |||
| target="RFC7752"/>. Procedures and protocol extensions defined in this | ="RFC7752" format="default"/>. Procedures and protocol extensions defined in thi | |||
| s | ||||
| document do not affect the BGP protocol operations and management other | document do not affect the BGP protocol operations and management other | |||
| than as discussed in the Manageability Considerations section of <xref | than what is discussed in the "Manageability Considerations" section of <x | |||
| target="RFC7752"/>. Specifically, the malformed NLRIs attribute tests in | ref target="RFC7752" format="default"/>. Specifically, the malformed NLRIs attri | |||
| the Fault Management section of <xref target="RFC7752"/> now encompass | bute tests in | |||
| the "Fault Management" section of <xref target="RFC7752" format="default"/ | ||||
| > now encompass | ||||
| the new TLVs for the BGP-LS NLRI in this document.</t> | the new TLVs for the BGP-LS NLRI in this document.</t> | |||
| <t>The extensions specified in this document do not specify any new | <t>The extensions specified in this document do not specify any new | |||
| configuration or monitoring aspects in BGP or BGP-LS. The specification | configuration or monitoring aspects in BGP or BGP-LS. The specification | |||
| of BGP models is an ongoing work based on <xref | of BGP models is an ongoing work based on <xref target="I-D.ietf-idr-bgp-m | |||
| target="I-D.ietf-idr-bgp-model"/>.</t> | odel" format="default"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="Security" numbered="true" toc="default"> | ||||
| <section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t>Security considerations for acquiring and distributing BGP-LS | <t>Security considerations for acquiring and distributing BGP-LS | |||
| information are discussed in <xref target="RFC7752"/>.</t> | information are discussed in <xref target="RFC7752" format="default"/>.</t | |||
| > | ||||
| <t>The TLVs introduced in this document are used to propagate the IGP | <t>The TLVs introduced in this document are used to propagate the IGP | |||
| Flexible Algorithm extensions defined in <xref | Flexible Algorithm extensions defined in <xref target="RFC9350" format="de | |||
| target="I-D.ietf-lsr-flex-algo"/>. It is assumed that the IGP instances | fault"/>. It is assumed that the IGP instances | |||
| originating these TLVs will support all the required security (as | originating these TLVs will support all the required security (as | |||
| described in <xref target="I-D.ietf-lsr-flex-algo"/>) for Flexible | described in <xref target="RFC9350" format="default"/>) for Flexible | |||
| Algorithm deployment.</t> | Algorithm deployment.</t> | |||
| <t>This document specifies extensions for the advertisement of node and | <t>This document specifies extensions for the advertisement of node and | |||
| prefix related flexible algorithm information. Tampering with this | prefix-related Flexible Algorithm information. Tampering with this | |||
| flexible algorithm-related information may affect applications using it, | Flexible-Algorithm-related information may affect applications using it, | |||
| including impacting route calculation and programming. As the | including impacting route calculation and programming. As the | |||
| advertisements defined in this document are related to a specific | advertisements defined in this document are related to a specific | |||
| flexible algorithm topology, the impact of tampering is similarly | Flexible Algorithm topology, the impact of tampering is similarly | |||
| limited in scope.</t> | limited in scope.</t> | |||
| </section> | </section> | |||
| <section anchor="ACK" title="Acknowledgements"> | ||||
| <t>The authors would like to thank Les Ginsberg, Amalesh Maity, Y F Siu, | ||||
| Vijay Gurbani, and Donald Eastlake III for their reviews and | ||||
| contributions to this work. The authors would like to thank Jie Dong for | ||||
| his shepherd review. The authors would like to thank Alvaro Retana for | ||||
| his detailed AD review and suggestions for improving this document.</t> | ||||
| </section> | ||||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | ||||
| <?rfc include="reference.RFC.2119"?> | ||||
| <?rfc include="reference.RFC.8174"?> | ||||
| <?rfc include='reference.RFC.7308'?> | ||||
| <?rfc include='reference.RFC.7752'?> | ||||
| <?rfc include='reference.I-D.ietf-lsr-flex-algo'?> | ||||
| </references> | ||||
| <references title="Informative References"> | ||||
| <?rfc include="reference.RFC.3209"?> | ||||
| <?rfc include='reference.RFC.8402'?> | ||||
| <?rfc include='reference.RFC.8919'?> | <displayreference target="I-D.ietf-idr-bgpls-srv6-ext" to="IDR-BGPLS-SRV6-EXT"/> | |||
| <displayreference target="I-D.ietf-idr-bgp-model" to="IDR-BGP-MODEL"/> | ||||
| <?rfc include='reference.RFC.8920'?> | <references> | |||
| <name>References</name> | ||||
| <references> | ||||
| <?rfc include='reference.RFC.9294'?> | <name>Normative References</name> | |||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
| 119.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 174.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 308.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 752.xml"/> | ||||
| <?rfc include='reference.RFC.9256'?> | <reference anchor='RFC9350' target='https://www.rfc-editor.org/info/rfc9350'> | |||
| <front> | ||||
| <title>IGP Flexible Algorithm</title> | ||||
| <author initials='P' surname='Psenak' fullname='Peter Psenak' role='editor'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='S' surname='Hegde' fullname='Shraddha Hegde'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='C' surname='Filsfils' fullname='Clarence Filsfils'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='K' surname='Talaulikar' fullname='Ketan Talaulikar'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='A' surname='Gulko' fullname='Arkadiy Gulko'> | ||||
| <organization /> | ||||
| </author> | ||||
| <date year='2023' month='February'/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9350"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9350"/> | ||||
| </reference> | ||||
| <?rfc include='reference.RFC.9085'?> | </references> | |||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3 | ||||
| 209.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 402.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 919.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 920.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
| 294.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
| 256.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
| 085.xml"/> | ||||
| <?rfc include='reference.I-D.ietf-idr-bgpls-srv6-ext'?> | <reference anchor="I-D.ietf-idr-bgpls-srv6-ext"> | |||
| <front> | ||||
| <title>BGP Link State Extensions for SRv6</title> | ||||
| <author initials='G' surname='Dawra' fullname='Gaurav Dawra'> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='C' surname='Filsfils' fullname='Clarence Filsfils'> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='K' surname='Talaulikar' fullname='Ketan Talaulikar' role='edit | ||||
| or'> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='M' surname='Chen' fullname='Mach Chen'> | ||||
| <organization/> | ||||
| </author | ||||
| ><author initials='D' surname='Bernier' fullname='Daniel Bernier'> | ||||
| <organization/> | ||||
| </author> | ||||
| <author initials='B' surname='Decraene' fullname='Bruno Decraene'> | ||||
| <organization/> | ||||
| </author> | ||||
| <date month='January' day='14' year='2023'/> | ||||
| </front> | ||||
| <seriesInfo name='Internet-Draft' value='draft-ietf-idr-bgpls-srv6-ext-13'/> | ||||
| <format type='TXT' target='https://www.ietf.org/archive/id/draft-ietf-idr-bgpls- | ||||
| srv6-ext-13.txt'/> | ||||
| </reference> | ||||
| <?rfc include='reference.I-D.ietf-idr-bgp-model'?> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
| .ietf-idr-bgp-model.xml"/> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section anchor="ACK" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>The authors would like to thank <contact fullname="Les Ginsberg"/>, <co | ||||
| ntact | ||||
| fullname="Amalesh Maity"/>, <contact fullname="Y. F. Siu"/>, | ||||
| <contact fullname="Vijay Gurbani"/>, and <contact fullname="Donald Eastlak | ||||
| e 3rd"/> for | ||||
| their reviews and contributions to this work. The authors would like to th | ||||
| ank <contact | ||||
| fullname="Jie Dong"/> for his shepherd review. The authors would like to t | ||||
| hank <contact | ||||
| fullname="Alvaro Retana"/> for his detailed AD review and suggestions for | ||||
| improving this | ||||
| document.</t> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 121 change blocks. | ||||
| 498 lines changed or deleted | 559 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||