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. |