rfc9658xml2.original.xml | rfc9658.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version='1.0' encoding='UTF-8'?> | |||
<!-- $Id: draft-wijnands-mpls-mldp-multi-topology-00.xml 2018-10-10 skraza $ --> | ||||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!DOCTYPE rfc [ | |||
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | <!ENTITY nbsp " "> | |||
.2119.xml"> | <!ENTITY zwsp "​"> | |||
<!ENTITY nbhy "‑"> | ||||
<!ENTITY wj "⁠"> | ||||
]> | ]> | |||
<rfc category="std" docName="draft-ietf-mpls-mldp-multi-topology-09" | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie | |||
ipr="trust200902" updates="7307"> | tf-mpls-mldp-multi-topology-09" number="9658" ipr="trust200902" consensus="true" | |||
<?rfc toc="yes" ?> | updates="7307" obsoletes="" submissionType="IETF" xml:lang="en" tocInclude="tru | |||
<?rfc compact="yes"?> | e" symRefs="true" sortRefs="true" version="3"> | |||
<?rfc subcompact="no"?> | ||||
<?rfc symrefs="yes"?> | ||||
<?rfc sortrefs="yes" ?> | ||||
<front> | <front> | |||
<title abbrev="Multi-Topology mLDP">Multipoint LDP Extensions for Multi-Topo logy Routing</title> | ||||
<title abbrev="Multi-Topology mLDP">mLDP Extensions for Multi-Topology Routi | <seriesInfo name="RFC" value="9658"/> | |||
ng</title> | ||||
<author fullname="IJsbrand Wijnands" initials="IJ." surname="Wijnands"> | <author fullname="IJsbrand Wijnands" initials="IJ." surname="Wijnands"> | |||
<organization>Individual</organization> | <organization>Individual</organization> | |||
<address> | <address> | |||
<postal> | <email>ice@braindump.be</email> | |||
<street></street> | ||||
<!-- Reorder these if your country does things differently --> | ||||
<city></city> | ||||
<region></region> | ||||
<code></code> | ||||
<country></country> | ||||
</postal> | ||||
<phone></phone> | ||||
<email> ice@braindump.be</email> | ||||
<!-- uri and facsimile elements may also be added --> | ||||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Mankamana Mishra" initials="M." surname="Mishra" role="edi | ||||
<author fullname="Mankamana Mishra" initials="M." surname="Mishra (Edito | tor"> | |||
r)"> | ||||
<organization>Cisco Systems, Inc.</organization> | <organization>Cisco Systems, Inc.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>821 Alder Drive</street> | <street>821 Alder Drive</street> | |||
<city>Milpitas</city> | <city>Milpitas</city> | |||
<code>95035</code> | <code>95035</code> | |||
<region>CA</region> | <region>CA</region> | |||
<country>USA</country> | <country>United States of America</country> | |||
</postal> | </postal> | |||
<email>mankamis@cisco.com</email> | <email>mankamis@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Kamran Raza" initials="K." surname="Raza"> | <author fullname="Kamran Raza" initials="K." surname="Raza"> | |||
<organization>Cisco Systems, Inc.</organization> | <organization>Cisco Systems, Inc.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>2000 Innovation Drive</street> | <street>2000 Innovation Drive</street> | |||
<city>Kanata</city> | <city>Kanata</city> | |||
<code>K2K-3E8</code> | <code>K2K-3E8</code> | |||
<region>ON</region> | <region>ON</region> | |||
<country>Canada</country> | <country>Canada</country> | |||
</postal> | </postal> | |||
<email>skraza@cisco.com</email> | <email>skraza@cisco.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials='Z.' surname='Zhang' fullname='Zhaohui Zhang'> | <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang"> | |||
<organization>Juniper Networks</organization> | <organization>Juniper Networks</organization> | |||
<address><postal> | <address> | |||
<street>10 Technology Park Dr.</street> | <postal> | |||
<city>Westford</city> <region></region> | <street>10 Technology Park Dr.</street> | |||
<code>MA 01886</code> | <city>Westford</city> | |||
<country>US</country> | <region>MA</region> | |||
</postal> | <code>01886</code> | |||
<email>zzhang@juniper.net</email></address> | <country>United States of America</country> | |||
</postal> | ||||
<email>zzhang@juniper.net</email> | ||||
</address> | ||||
</author> | </author> | |||
<author initials="A." surname="Gulko" fullname="Arkadiy Gulko"> | <author initials="A." surname="Gulko" fullname="Arkadiy Gulko"> | |||
<organization>Edward Jones wealth management</organization> | <organization abbrev="Edward Jones">Edward Jones Wealth Management</organi zation> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street></street> | <country>United States of America</country> | |||
<city></city> | ||||
<code></code> | ||||
<country>USA</country> | ||||
</postal> | </postal> | |||
<email>Arkadiy.gulko@edwardjones.com</email> | <email>Arkadiy.gulko@edwardjones.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date month="October" year="2024"/> | ||||
<area>RTG</area> | ||||
<workgroup>mpls</workgroup> | ||||
<date day="20" month="May" year="2024"/> | <keyword>MPLS</keyword> | |||
<keyword>mLDP</keyword> | ||||
<keyword>Multi-topology</keyword> | ||||
<area>Routing</area> | <abstract> | |||
<workgroup>MPLS Working Group</workgroup> | ||||
<keyword>MPLS</keyword> | ||||
<keyword>mLDP</keyword> | ||||
<keyword>Multi-topology</keyword> | ||||
<abstract> | <t> | |||
<t> | Multi-Topology Routing (MTR) is a technology that enables service | |||
Multi-Topology Routing (MTR) is a technology to enable service | differentiation within an IP network. The Flexible Algorithm (FA) is | |||
differentiation within an IP network. Flexible Algorithm (FA) is | another mechanism for creating a sub-topology within a topology using | |||
another mechanism of creating a sub-topology within a topology using | defined topology constraints and computation algorithms. In order to | |||
defined topology constraints and computation algorithm. In order to | deploy Multipoint LDP (mLDP) in a network | |||
deploy mLDP (Multipoint label distribution protocol) in a network | ||||
that supports MTR, FA, or other methods of signaling non-default | that supports MTR, FA, or other methods of signaling non-default | |||
IGP algorithms, mLDP is required to become topology and | IGP Algorithms (IPAs), mLDP is required to become topology and | |||
algorithm aware. This document specifies extensions to mLDP to support MTR, | algorithm aware. This document specifies extensions to mLDP to support the u | |||
with an algorithm, in order for Multipoint LSPs(Label Switched Paths) to foll | se of | |||
ow | MTR/IPAs such that, when building multipoint Label Switched Paths (LSPs), the LS | |||
a particular topology and algorithm. It updates <xref target="RFC7307"/> by a | Ps can follow a | |||
llocating | particular topology and algorithm. | |||
eight bits from a previously reserved field to be used as the IGP Algorithm | This document updates RFC 7307 by allocating | |||
(IPA) field. | eight bits from a previously reserved field to be used as the "IPA" field. | |||
</t> | </t> | |||
</abstract> | ||||
</abstract> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<section title="Glossary"> | <section numbered="true" toc="default"> | |||
<t> | <name>Introduction</name> | |||
<list style="empty"> | <t>Multi-Topology Routing (MTR) is a technology that enables service diffe | |||
<t> FA - Flexible Algorithm </t> | rentiation within an IP network. IGPs (e.g., OSPF and IS-IS) and LDP have alread | |||
<t> FEC - Forwarding Equivalence Class </t> | y been extended to support MTR. To support MTR, an IGP maintains distinct IP top | |||
<t> IGP - Interior Gateway Protocol </t> | ologies referred to as "Multi-Topologies" (or "MTs"), and computes and installs | |||
<t> IPA - IGP Algorithm </t> | routes specific to each topology. OSPF extensions (see <xref target="RFC4915" fo | |||
<t> LDP - Label Distribution Protocol </t> | rmat="default"/>) and IS-IS extensions (see <xref target="RFC5120" format="defau | |||
<t> LSP - Label Switched Path </t> | lt"/>) specify the MT extensions under respective IGPs. To support IGP MT, simi | |||
<t> mLDP - Multipoint LDP </t> | lar LDP extensions (see <xref target="RFC7307" format="default"/>) have been spe | |||
<t> MP - Multipoint (P2MP or MP2MP) </t> | cified to make LDP be MT aware and to be able to set up unicast Label Switched P | |||
<t> MP2MP - Multipoint-to-Multipoint </t> | aths (LSPs) along IGP MT routing paths. | |||
<t> MT - Multi-Topology </t> | ||||
<t> MT-ID - Multi-Topology Identifier </t> | ||||
<t> MTR - Multi-Topology Routing </t> | ||||
<t> MVPN - Multicast over Virtual Private Network defined in secti | ||||
on 2.3 of <xref target="RFC6513"/> </t> | ||||
<t> P2MP - Point-to-Multipoint </t> | ||||
<t> PMSI - Provider Multicast Service Interfaces <xref target="RFC | ||||
6513"/> </t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section title="Introduction"> | ||||
<t> | ||||
Multi-Topology Routing (MTR) is a technology to enable service differenti | ||||
ation within an IP network. IGP protocols (OSPF and IS-IS) and LDP have already | ||||
been extended to support MTR. To support MTR, an IGP maintains independent IP to | ||||
pologies, termed as "Multi-Topologies" (MT), and computes/installs routes per to | ||||
pology. OSPF extensions <xref target="RFC4915"/> and IS-IS extensions <xref targ | ||||
et="RFC5120"/> specify the MT extensions under respective IGPs. To support IGP M | ||||
T, similar LDP extensions <xref target="RFC7307"/> have been specified to make L | ||||
DP MT-aware and be able to setup unicast Label Switched Paths (LSPs) along IGP M | ||||
T routing paths. | ||||
</t> | </t> | |||
<t> | <t> | |||
A more lightweight mechanism to define constraint-based topologies is | A more lightweight mechanism to define constraint-based topologies is | |||
the Flexible Algorithm (FA) <xref target="RFC9350"/>. FA can be seen as creat | the Flexible Algorithm (FA) (see <xref target="RFC9350" format="default" | |||
ing a | />). | |||
sub-topology within a topology using defined topology constraints and | ||||
computation algorithms. This can be done within an MTR topology or | ||||
the default Topology. An instance of such a sub-topology is | ||||
identified by a 1 octet value (Flex-Algorithm) as documented in | ||||
<xref target="RFC9350"/>. A flexible Algorithm is a mechanism to create a sub | ||||
- | ||||
topology, but in the future, different algorithms might be defined for | ||||
how to achieve that. For that reason, in the remainder of this | ||||
document, we'll refer to this as the IGP Algorithm. The IGP Algorithm (IPA) | ||||
Field <xref target="MT_IP_AFI"/> <xref target="Typed_Wildcard_Fec"/> is an 8- | ||||
bit identifier for the algorithm. | ||||
The permissible values are tracked in the IANA IGP Algorithm Types | ||||
registry <xref target="IANA-IGP-ALGO-TYPES"/>. | ||||
</t> | ||||
<t> | ||||
Throughout this document, the term Flexible Algorithm (FA) shall denote the p | ||||
rocess of generating a sub-topology and signaling it through Interior Gateway Pr | ||||
otocol (IGP). However, it is essential to note that the procedures outlined in t | ||||
his document are not exclusively applicable to Flexible Algorithm but are extend | ||||
able to any non-default algorithm as well. | ||||
</t> | ||||
The FA is | ||||
another mechanism for creating a sub-topology within a topology using | ||||
defined topology constraints and computation algorithms. | ||||
This can be done within an MTR topology or | ||||
the default topology. An instance of such a sub-topology is | ||||
identified by a 1-octet value (Flexible Algorithm) as documented in | ||||
<xref target="RFC9350" format="default"/>. At the time of writing, an FA is | ||||
a mechanism to create a sub-topology; in | ||||
the future, different algorithms might be defined for this purpose. Therefore, | ||||
in the remainder of this | ||||
document, we'll refer to this as the "IGP Algorithm" or "IPA". The "IPA" | ||||
field (see Sections <xref target="MT_IP_AFI" format="counter"/> and <xref tar | ||||
get="Typed_Wildcard_Fec" format="counter"/>) is an 8-bit identifier for the algo | ||||
rithm. | ||||
The permissible values are tracked in the "IGP Algorithm Types" | ||||
registry <xref target="IANA-IGP-ALGO-TYPES" format="default"/>. | ||||
</t> | ||||
<t> | <t> | |||
Multipoint LDP (mLDP) refers to extensions in LDP to setup multi-point LS | Throughout this document, the term "Flexible Algorithm" (or "FA") shall denot | |||
Ps (point-to-multipoint (P2MP) or multipoint-to-multipoint (MP2MP)), by means of | e the process of generating a sub-topology and signaling it through the IGP. How | |||
a set of extensions and procedures defined in <xref target="RFC6388"/>. In orde | ever, it is essential to note that the procedures outlined in this document are | |||
r to deploy mLDP in a network that supports MTR and FA, mLDP is required to beco | not exclusively applicable to the FA: they are extendable to any non-default alg | |||
me topology and algorithm aware. This document specifies extensions to mLDP to s | orithm as well. | |||
upport MTR/IGP Algorithm such that when building a Multi-Point LSPs it can follo | </t> | |||
w a particular topology and algorithm. This means that the identifier for the pa | <t> | |||
rticular topology to be used by mLDP have to become a 2-tuple (MTR Topology Id, | "Multipoint LDP" (or "mLDP") refers to extensions in LDP to set up multipoint LS | |||
IGP Algorithm). | Ps (i.e., point-to-multipoint (P2MP) or multipoint-to-multipoint (MP2MP) LSPs) b | |||
y means of a set of extensions and procedures defined in <xref target="RFC6388" | ||||
format="default"/>. In order to deploy mLDP in a network that supports MTR and t | ||||
he FA, mLDP is required to become topology and algorithm aware. This document sp | ||||
ecifies extensions to mLDP to support the use of | ||||
MTR/IPAs such that, when building multipoint LSPs, it can follow a | ||||
particular topology and algorithm. Therefore, the identifier for the particular | ||||
topology to be used by mLDP has to become a 2-tuple {MTR Topology Id, IPA}. | ||||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Specification of Requirements"> | <name>Terminology</name> | |||
<t> | <section numbered="true" toc="default"> | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | <name>Abbreviations</name> | |||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | <dl> | |||
"MAY", and "OPTIONAL" in this document are to be interpreted as | <dt>FA:</dt><dd>Flexible Algorithm</dd> | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when | <dt>FEC:</dt><dd>Forwarding Equivalence Class</dd> | |||
, and only when, they | <dt>IGP:</dt><dd>Interior Gateway Protocol</dd> | |||
appear in all capitals, as shown here. | <dt>IPA:</dt><dd>IGP Algorithm</dd> | |||
</t> | <dt>LDP:</dt><dd>Label Distribution Protocol</dd> | |||
<dt>LSP:</dt><dd>Label Switched Path</dd> | ||||
<dt>mLDP:</dt><dd>Multipoint LDP</dd> | ||||
<dt>MP:</dt><dd>Multipoint</dd> | ||||
<dt>MP2MP:</dt><dd>Multipoint-to-Multipoint</dd> | ||||
<dt>MT:</dt><dd>Multi-Topology</dd> | ||||
<dt>MT-ID:</dt><dd>Multi-Topology Identifier</dd> | ||||
<dt>MTR:</dt><dd>Multi-Topology Routing</dd> | ||||
<dt>MVPN:</dt><dd>Multicast VPN in <xref target="RFC6513" sectionFormat | ||||
="of" section="2.3"/></dd> | ||||
<dt>P2MP:</dt><dd>Point-to-Multipoint</dd> | ||||
<dt>PMSI:</dt><dd>Provider Multicast Service Interfaces <xref target="R | ||||
FC6513" format="default"/></dd> | ||||
</dl> | ||||
</section> | </section> | |||
<section title="MT Scoped mLDP FECs"> | <section numbered="true" toc="default"> | |||
<t> | <name>Specification of Requirements</name> | |||
As defined in <xref target="RFC7307"/>, MPLS Multi-Topology Identifier (M | <t> | |||
T-ID) is an identifier that is used to associate an LSP with a certain MTR topol | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
ogy. In the context of MP LSPs, this identifier is part of the mLDP FEC encoding | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14> | |||
so that LDP peers are able to setup an MP LSP via their own defined MTR policy. | ", | |||
In order to avoid conflicting MTR policies for the same mLDP FEC, the MT-ID nee | "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
ds to be a part of the FEC, so that different MT-ID values will result in unique | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
MP-LSP FEC elements. | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
be | ||||
interpreted as described in BCP 14 <xref target="RFC2119"/> <xref | ||||
target="RFC8174"/> when, and only when, they appear in all capitals, as | ||||
shown here. | ||||
</t> | ||||
</section> | ||||
</section> | ||||
<section numbered="true" toc="default"> | ||||
<name>MT-Scoped mLDP FECs</name> | ||||
<t>As defined in <xref target="RFC7307" format="default"/>, an MPLS Multi- | ||||
Topology Identifier (MT-ID) is used to associate an LSP with a certain MTR topol | ||||
ogy. In the context of MP LSPs, this identifier is part of the mLDP FEC encoding | ||||
; this is so that LDP peers are able to set up an MP LSP via their own defined M | ||||
TR policy. In order to avoid conflicting MTR policies for the same mLDP FEC, th | ||||
e | ||||
MT-ID needs to be a part of the FEC. This ensures that different MT-ID values | ||||
will result in unique MP-LSP FEC elements. | ||||
</t> | </t> | |||
<t> | <t> | |||
The same applies to the IGP Algorithm. The IGP Algorithm needs to be enco ded as part of the mLDP FEC to create unique MP-LSPs. The IGP Algorithm is also used to signal to mLDP (hop-by-hop) which Algorithm needs to be used to create t he MP-LSP. | The same applies to the IPA. The IPA needs to be encoded as part of the m LDP FEC to create unique MP LSPs. The IPA is also used to signal to the mLDP (ho p-by-hop) which algorithm needs to be used to create the MP LSP. | |||
</t> | </t> | |||
<t> | <t> | |||
Since the MT-ID and IGP Algorithm are part of the FEC, they apply to all the LDP messages that potentially include an mLDP FEC element. | Since the MT-ID and IPA are part of the FEC, they apply to all the LDP me ssages that potentially include an mLDP FEC element. | |||
</t> | </t> | |||
<section anchor="mp-fec-ext-mt" numbered="true" toc="default"> | ||||
<section title="MP FEC Extensions for MT" anchor="mp-fec-ext-mt"> | <name>MP FEC Extensions for MT</name> | |||
<t> | <t> | |||
The following subsections define the extensions to bind an mLDP FEC to | The following subsections define the extensions to bind an mLDP FEC to | |||
a topology. These mLDP MT extensions reuse some of the extensions | a topology. These mLDP MT extensions reuse some of the extensions | |||
specified in <xref target="RFC7307"/>. | specified in <xref target="RFC7307" format="default"/>. | |||
</t> | </t> | |||
<section numbered="true" toc="default"> | ||||
<section title="MP FEC Element"> | <name>MP FEC Element</name> | |||
<t> | <t> | |||
Base mLDP specification <xref target="RFC6388"/> defines MP FEC Eleme | The base mLDP specification (<xref target="RFC6388" format="default"/ | |||
nt as follows: | >) defines the MP FEC element as follows: | |||
</t> | </t> | |||
<figure title="MP FEC Element Format [RFC6388]" anchor="mp-fec"> | ||||
<artwork> | ||||
<figure anchor="mp-fec"> | ||||
<name>MP FEC Element Format</name> | ||||
<artwork name="" type="" align="left" 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| MP FEC type | Address Family | AF Length | | | MP FEC type | Address Family | AF Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Root Node Address | | | Root Node Address | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Opaque Length | Opaque Value | | | Opaque Length | Opaque Value | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | |||
~ ~ | ~ ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ||||
</figure> | ||||
<t> | ||||
Where the "Root Node Address" field encoding is defined according to | ||||
the given "Address | ||||
Family" field with its length (in octets) specified by the "AF Length" field. | ||||
</artwork> | </t> | |||
</figure> | <t> | |||
<t> | ||||
Where the "Root Node Address" encoding is defined according to the gi | ||||
ven "Address | ||||
Family" with its length (in octets) specified by the "AF Length" field. | ||||
</t> | ||||
<t> | ||||
To extend MP FEC elements for MT, the {MT-ID, IPA} tuple is relevant in the | To extend MP FEC elements for MT, the {MT-ID, IPA} tuple is relevant in the | |||
context of the root address of the MP LSP. This tuple determines the | context of the root address of the MP LSP. This tuple determines the | |||
(sub)-topology in which the root address needs to be resolved. As the {MT-ID, | (sub-)topology in which the root address needs to be resolved. As the {MT-ID, | |||
IPA} tuple should be considered part of the mLDP FEC, it is most naturally | IPA} tuple should be considered part of the mLDP FEC, it is most naturally | |||
encoded as part of the root address. | encoded as part of the root address. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="MT_IP_AFI" numbered="true" toc="default"> | ||||
<section anchor="MT_IP_AFI" title="MT IP Address Families"> | <name>MT IP Address Families</name> | |||
<t> | <t> | |||
<xref target="RFC7307"/> specifies new address families, named "MT IP | <xref target="RFC7307" format="default"/> specifies new address famil | |||
" and "MT IPv6," to | ies, named "MT IP" and "MT IPv6," to | |||
allow for the specification of an IP prefix within a topology scope. In addition | allow for the specification of an IP prefix within a topology scope. In addition | |||
to using these address families for mLDP, 8 bits of the 16-bit Reserved field | to using these address families for mLDP, 8 bits of the 16-bit "Reserved" field | |||
are utilized to encode the IGP Algorithm. The resulting format | that was described in RFC 7307 | |||
of the data associated with these new Address Families is as follows: | are utilized to encode the IPA. The resulting format | |||
of the data associated with these new address families is as follows: | ||||
</t> | ||||
<figure title="Modified MT IP Address Families Data Format" anchor="mt- | </t> | |||
afi"> | ||||
<artwork> | ||||
<figure anchor="mt-afi"> | ||||
<name>Modified Format for MT IP Address Families</name> | ||||
<artwork name="" type="" align="left" 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| IPv4 Address | | | IPv4 Address | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reserved | IPA | MT-ID | | | Reserved | IPA | MT-ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| IPv6 Address | | | IPv6 Address | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reserved | IPA | MT-ID | | | Reserved | IPA | MT-ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ||||
</figure> | ||||
</artwork> | <t>Where:</t> | |||
</figure> | <dl> | |||
<dt>IPv4 Address and IPv6 Address:</dt> | ||||
<t> Where: | <dd>An IP address corresponding to the "MT IP" and "MT IPv6" address | |||
<list style="empty"> | families, respectively.</dd> | |||
<t> IPv4/IPv6 Address: An IP address corresponding to "MT IP" | ||||
and "MT IPv6" address families respectively. </t> | ||||
<t> IPA: The IGP Algorithm.</t> | ||||
<t> Reserved: This 8-bit field MUST be zero on transmission and MUST | ||||
be ignored on receipt. </t> | ||||
</list> | ||||
</t> | ||||
</section> | <dt>IPA:</dt> | |||
<dd>The IGP Algorithm.</dd> | ||||
<section title="MT MP FEC Element"> | <dt>Reserved:</dt> | |||
<t> | <dd>This 8-bit field <bcp14>MUST</bcp14> be zero on transmission and | |||
By using the extended MT IP Address Family, the resulting MT MP FEC e | <bcp14>MUST</bcp14> be ignored on receipt.</dd> | |||
lement | </dl> | |||
should be encoded as follows: | </section> | |||
<section numbered="true" toc="default"> | ||||
</t> | <name>MT MP FEC Element</name> | |||
<t> | ||||
When using the extended "MT IP" address family, the resulting MT-Scop | ||||
ed MP | ||||
FEC element should be encoded as follows: | ||||
</t> | ||||
<figure title="IP MT-Scoped MP FEC Element Format" anchor="mt-mp-fec"> | <figure anchor="mt-mp-fec"> | |||
<artwork> | <name>Format for an IP MT-Scoped MP FEC Element</name> | |||
0 1 2 3 | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
0 1 2 3 | ||||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| MP FEC type | AF (MT IP/ MT IPv6) | AF Length | | | MP FEC type | AF (MT IP/ MT IPv6) | AF Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Root Node Address | | | Root Node Address | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reserved | IPA | MT-ID | | | Reserved | IPA | MT-ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Opaque Length | Opaque Value | | | Opaque Length | Opaque Value | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | |||
~ ~ | ~ ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ||||
</artwork> | </figure> | |||
</figure> | <t> | |||
In the context of this document, the applicable LDP FECs for MT mLDP | ||||
<t> | (<xref target="RFC6388" format="default"/>) | |||
In the context of this document, the applicable LDP FECs for MT mLDP | ||||
(<xref target="RFC6388"/>) | ||||
include: | include: | |||
</t> | </t> | |||
<t> | <ul spacing="normal"> | |||
<list style="symbols"> | <li> | |||
<t> MP FEC Elements: | <t>MP FEC elements: | |||
<list style="symbols"> | </t> | |||
<t> P2MP (type 0x6) </t> | <ul spacing="normal"> | |||
<t> MP2MP-up (type 0x7) </t> | <li> | |||
<t> MP2MP-down (type 0x8) </t> | <t>P2MP (type 0x6)</t> | |||
</list> | </li> | |||
</t> | <li> | |||
<t> Typed Wildcard FEC Element (type 0x5 defined in <xref target="R | <t>MP2MP-up (type 0x7)</t> | |||
FC5918"/> ) </t> | </li> | |||
</list> | <li> | |||
</t> | <t>MP2MP-down (type 0x8)</t> | |||
</li> | ||||
<t> | </ul> | |||
In case of "Typed Wildcard FEC Element", the FEC Element type | </li> | |||
MUST be one of the MP FECs listed above. | <li> | |||
</t> | <t>Typed Wildcard FEC Element (type 0x5 defined in <xref target="R | |||
FC5918" format="default"/>)</t> | ||||
<t> | </li> | |||
This specification allows the use of Topology-scoped mLDP FECs in | </ul> | |||
LDP label and notification messages, as applicable. | <t> | |||
</t> | In the case of the Typed Wildcard FEC Element, the FEC element type | |||
<bcp14>MUST</bcp14> be one of the MP FECs listed above. | ||||
<t> | </t> | |||
<xref target="RFC6514"/> defines the PMSI tunnel attribute f | <t> | |||
or MVPN, and specifies | This specification allows the use of topology-scoped mLDP FECs in | |||
that when the Tunnel Type is set to mLDP P2MP LSP, the Tunnel | LDP labels and notification messages, as applicable. | |||
Identifier is a P2MP FEC Element, and when the Tunnel Type is set to | </t> | |||
mLDP Multipoint-to-Multipoint (MP2MP) LSP, the Tunnel Identifier is | <t> | |||
an MP2MP FEC Element. When the extension defined in this | <xref target="RFC6514" format="default"/> defines the PMSI tunnel | |||
specification is in use, the "IP MT-Scoped MP FEC Element Format" | attribute for MVPN and specifies that:</t> | |||
form of the respective FEC elements MUST be used in these two cases. | <ul> | |||
<li>when the Tunnel Type is set | ||||
</t> | to mLDP P2MP LSP, the Tunnel Identifier is a P2MP FEC element, and</l | |||
i> | ||||
</section> | <li>when the Tunnel Type is set to mLDP MP2MP LSP, the Tunnel Identif | |||
ier is an MP2MP FEC element.</li></ul> <t> When | ||||
the extension defined in this specification is in use, the IP | ||||
MT-Scoped MP FEC element form of the respective FEC | ||||
elements <bcp14>MUST</bcp14> be used in these two cases. | ||||
</t> | ||||
</section> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Topology IDs"> | <name>Topology IDs</name> | |||
<t> | <t> | |||
This document assumes the same definitions and procedures associated | This document assumes the same definitions and procedures associated | |||
with MPLS MT-ID as specified in <xref target="RFC7307"/> specification. | with MPLS MT-ID as specified in <xref target="RFC7307" format="default" | |||
</t> | />. | |||
</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="MT Multipoint Capability"> | <name>MT Multipoint Capability</name> | |||
<t> | <t> | |||
The "MT Multipoint" capability is a new LDP capability, defined in | ||||
The "MT Multipoint Capability" is a new LDP capability, defined in accord | accordance with the LDP capability definition guidelines outlined in | |||
ance | <xref target="RFC5561" format="default"/>. An mLDP speaker advertises | |||
with the LDP Capability definition guidelines outlined in <xref target="RFC5561" | this capability to its peers to announce its support for MTR and the | |||
/>. An mLDP | procedures specified in this document. This capability | |||
speaker advertises this capability to its peers to announce its support for MTR | <bcp14>MAY</bcp14> be sent either in an Initialization message at | |||
and the procedures specified in this document. This capability MAY be sent | session establishment or dynamically during the session's lifetime via | |||
either in an Initialization message at session establishment or dynamically | a Capability message, provided that the "Dynamic Announcement" | |||
during the session's lifetime via a Capability message, provided that | capability from <xref target="RFC5561" format="default"/> has been | |||
the "Dynamic Announcement" capability from <xref target="RFC5561"/> has been | successfully negotiated with the peer. | |||
successfully negotiated with the peer. | ||||
</t> | </t> | |||
<t> | <t> | |||
The format of this capability is as follows: | The format of this capability is as follows: | |||
</t> | </t> | |||
<figure anchor="mt-mp-cap"> | ||||
<figure title="MT Multipoint Capability TLV Format" anchor="mt-mp-cap"> | <name>Format for the MT Multipoint Capability TLV</name> | |||
<artwork> | <artwork name="" type="" align="left" 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|U|F| MT Multipoint Capability | Length | | |U|F| MT Multipoint Capability | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|S| Reserved | | |S| Reserved | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
</artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> Where: | <t>Where:</t> | |||
<list style="empty"> | <dl> | |||
<t> U- and F-bits: MUST be 1 and 0, respectively, as per Section 3 of | <dt>U and F bits:</dt> | |||
LDP Capabilities <xref target="RFC5561"/>. </t> | <dd><bcp14>MUST</bcp14> be 1 and 0, respectively, as per <xref | |||
target="RFC5561" sectionFormat="of" section="3"/>.</dd> | ||||
<t> MT Multipoint Capability: TLV type. </t> | ||||
<t> Length: The length (in octets) of TLV. The value of this field | <dt>MT Multipoint Capability:</dt> | |||
MUST be 1 as there is no Capability-specific data <xref target="RFC5561"/ | <dd>The TLV type.</dd> | |||
> | ||||
that follows in the TLV. | ||||
Length: This field specifies the length of the TLV in octets. The value | ||||
of this field MUST be 1, as there is no Capability-specific data [<xref t | ||||
arget="RFC5561"/>] | ||||
following the TLV. | ||||
</t> | <dt>Length:</dt><dd>This field specifies the length of the TLV in | |||
octets. The value of this field <bcp14>MUST</bcp14> be 1, as there | ||||
is no capability-specific data <xref target="RFC5561" | ||||
format="default"/> following the TLV.</dd> | ||||
<t> S-bit: Set to 1 to announce and 0 to withdraw the capability (as | <dt>S bit:</dt> | |||
per <xref target="RFC5561"/>. </t> | <dd>Set to 1 to announce and 0 to withdraw the capability (as per | |||
</list> | <xref target="RFC5561" format="default"/>).</dd> | |||
</t> | </dl> | |||
<t> | <t> | |||
An mLDP speaker that has successfully advertised and negotiated "MT | An mLDP speaker that has successfully advertised and negotiated the "MT | |||
Multipoint" capability MUST support the following: | Multipoint" capability <bcp14>MUST</bcp14> support the following: | |||
</t> | ||||
<t> | ||||
<list style="numbers"> | ||||
<t> Topology-scoped mLDP FECs in LDP messages (<xref target="mp-fec-ext-m | ||||
t"/>) </t> | ||||
<t> Topology-scoped mLDP forwarding setup (<xref target="mt-fwd"/>) </t> | ||||
</list> | ||||
</t> | </t> | |||
<ol spacing="normal" type="1"> | ||||
<li> | ||||
<t>Topology-scoped mLDP FECs in LDP messages (<xref target="mp-fec-ext | ||||
-mt" format="default"/>)</t> | ||||
</li> | ||||
<li> | ||||
<t>Topology-scoped mLDP forwarding setup (<xref target="mt-fwd" format | ||||
="default"/>)</t> | ||||
</li> | ||||
</ol> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="MT Applicability on FEC-based features"> | <name>MT Applicability on FEC-Based Features</name> | |||
<section anchor="Typed_Wildcard_Fec" numbered="true" toc="default"> | ||||
<section anchor="Typed_Wildcard_Fec" title="Typed Wildcard MP FEC Elements | <name>Typed Wildcard MP FEC Elements</name> | |||
"> | <t> | |||
<xref target="RFC5918" format="default"/> extends the base LDP and defi | ||||
<t> | nes the Typed Wildcard FEC Element | |||
<xref target="RFC5918"/> extends base LDP and defines Typed Wildcard FE | framework. A Typed Wildcard FEC Element can be used in any LDP message | |||
C Element | ||||
framework. Typed Wildcard FEC element can be used in any LDP message | ||||
to specify a wildcard operation for a given type of FEC. | to specify a wildcard operation for a given type of FEC. | |||
</t> | </t> | |||
<t> | ||||
The MT extensions, defined in this document, do not require any extensio | ||||
n to | ||||
procedures for Typed Wildcard FEC Element support <xref target="RFC5918"/>, and | ||||
these | ||||
procedures apply as-is to Multipoint MT FEC wildcarding. Similar to Typed | ||||
Wildcard MT Prefix FEC Element, as defined in <xref target="RFC7307"/>, the MT e | ||||
xtensions | ||||
allow the use of "MT IP" or "MT IPv6" in the Address Family field of the Typed | ||||
Wildcard MP FEC element. This is done in order to use wildcard operations for | ||||
MP FECs in the context of a given (sub)-topology as identified by the MT-ID and | ||||
IPA field. | ||||
<t> | ||||
The MT extensions defined in this document do not require any | ||||
extension to procedures for support of the Typed Wildcard FEC Element <x | ||||
ref | ||||
target="RFC5918" format="default"/>, and these procedures apply as is | ||||
to Multipoint MT FEC wildcarding. Similar to the Typed Wildcard MT Prefi | ||||
x | ||||
FEC element, as defined in <xref target="RFC7307" format="default"/>, | ||||
the MT extensions allow the use of "MT IP" or "MT IPv6" in the | ||||
"Address Family" field of the Typed Wildcard MP FEC Element. This is | ||||
done in order to use wildcard operations for MP FECs in the context | ||||
of a given (sub-)topology as identified by the "MT-ID" and "IPA" fields. | ||||
</t> | </t> | |||
<t> | ||||
<t> | ||||
This document defines the following format and encoding for a Typed | This document defines the following format and encoding for a Typed | |||
Wildcard MP FEC element: | Wildcard MP FEC Element: | |||
</t> | </t> | |||
<figure anchor="mt-mp-wc-fec"> | ||||
<figure title="Typed Wildcard MT MP FEC Element" anchor="mt-mp-wc-fec"> | <name>Format for the Typed Wildcard MT MP FEC Element</name> | |||
<artwork> | <artwork name="" type="" align="left" 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Typed Wcard (5)| Type = MP FEC | Len = 6 | AF = MT IP ..| | |Typed Wcard (5)| Type = MP FEC | Len = 6 | AF = MT IP ..| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|... or MT IPv6 | Reserved | IPA | MT-ID | | |... or MT IPv6 | Reserved | IPA | MT-ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|MT ID (contd.) | | |MT-ID (cont.) | | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
</artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t>Where:</t> | ||||
<t> Where: | <dl> | |||
<list style="empty"> | <dt>Type:</dt><dd>One of the MP FEC element types (P2MP, MP2MP-up, or | |||
<t> Type: One of MP FEC Element type (P2MP, MP2MPup, MP2MP-down). </t> | MP2MP-down)</dd> | |||
<t> MT ID: MPLS MT ID </t> | <dt>MT-ID:</dt><dd>MPLS MT-ID</dd> | |||
<t> IPA: The IGP Algorithm</t> | <dt>IPA:</dt><dd>The IGP Algorithm</dd> | |||
</list> | </dl> | |||
</t> | <t> | |||
The defined format allows a Label Switching Router (LSR) to perform wil | ||||
<t> | dcard MP FEC | |||
The defined format allows an LSR to perform wildcard MP FEC | ||||
operations under the scope of a (sub-)topology. | operations under the scope of a (sub-)topology. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="End-of-LIB"> | <name>End-of-LIB</name> | |||
<t> | <t> | |||
<xref target="RFC5919"/> specifies extensions and procedures that allow | <xref target="RFC5919" format="default"/> specifies extensions and | |||
an LDP speaker | procedures that allow an LDP speaker to signal its End-of-LIB (Label In | |||
to signal its End-of-LIB for a given FEC type to a peer. By leveraging | formation Base) for a | |||
the End-of-LIB message, LDP ensures that label distribution remains | given FEC type to a peer. By leveraging the End-of-LIB message, LDP | |||
consistent and reliable, even during network disruptions or maintenance | ensures that label distribution remains consistent and reliable, | |||
activities. The MT extensions for MP FEC do not require any modifications | even during network disruptions or maintenance activities. The MT | |||
to these procedures and apply as-is to MT MP FEC elements. Consequently, an | extensions for MP FEC do not require any modifications to these | |||
MT mLDP speaker MAY signal its convergence per (sub-)topology using | procedures and apply as they are to MT MP FEC elements. Consequently, a | |||
the MT Typed Wildcard MP FEC element. | n | |||
MT mLDP speaker <bcp14>MAY</bcp14> signal its convergence per | ||||
</t> | (sub-)topology using the MT Typed Wildcard MP FEC Element. | |||
</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="mt-fwd" numbered="true" toc="default"> | ||||
<section title="Topology-Scoped Signaling and Forwarding" anchor="mt-fwd"> | <name>Topology-Scoped Signaling and Forwarding</name> | |||
<t> | <t> | |||
Since the {MT-ID, IPA} tuple is part of an mLDP FEC, there is no need to support | Since the {MT-ID, IPA} tuple is part of an mLDP FEC, there is no need to support | |||
the concept of multiple (sub-)topology forwarding tables in mLDP. Each MP LSP will be | the concept of multiple (sub-)topology forwarding tables in mLDP. Each MP LSP will be | |||
unique due to the tuple being part of the FEC. There is also no need | unique due to the tuple being part of the FEC. There is also no need | |||
to have specific label forwarding tables per topology, and each MP | to have specific label forwarding tables per topology, and each MP | |||
LSP will have its own unique local label in the table. However, In | LSP will have its own unique local label in the table. However, in | |||
order to implement MTR in an mLDP network, the selection procedures | order to implement MTR in an mLDP network, the selection procedures | |||
for upstream LSR and downstream forwarding interface need to be | for an upstream LSR and a downstream forwarding interface need to be | |||
changed. | changed. | |||
</t> | </t> | |||
<section numbered="true" toc="default"> | ||||
<section title="Upstream LSR selection"> | <name>Upstream LSR Selection</name> | |||
<t> | <t> | |||
The procedures as described in RFC-6388 section-2.4.1.1 depend on | The procedures described in <xref section="2.4.1.1" sectionFormat="of" | |||
target="RFC6388"/> depend on | ||||
the best path to reach the root. When the {MT-ID, IPA} tuple is signale d as part | the best path to reach the root. When the {MT-ID, IPA} tuple is signale d as part | |||
of the FEC, this tuple is used to select the (sub-)topology that must b e | of the FEC, the tuple is also used to select the (sub-)topology that mu st be | |||
used to find the best path to the root address. Using the next-hop | used to find the best path to the root address. Using the next-hop | |||
from this best path, a LDP peer is selected following the procedures | from this best path, an LDP peer is selected following the procedures | |||
as defined in <xref target="RFC6388"/>. | defined in <xref target="RFC6388" format="default"/>. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Downstream forwarding interface selection"> | <name>Downstream Forwarding Interface Selection</name> | |||
<t> | <t> | |||
The procedures as described in RFC-6388 section-2.4.1.2 describe how | <xref target="RFC6388" sectionFormat="of" section="2.4.1.2"/> describes | |||
the procedures for how | ||||
a downstream forwarding interface is selected. In these procedures, | a downstream forwarding interface is selected. In these procedures, | |||
any interface leading to the downstream LDP neighbor can be | any interface leading to the downstream LDP neighbor can be | |||
considered as candidate forwarding interface. When the {MT-ID, IPA} tup le is part | considered to be a candidate forwarding interface. When the {MT-ID, IPA } tuple is part | |||
of the FEC, this is no longer true. An interface must only be | of the FEC, this is no longer true. An interface must only be | |||
selected if it is part of the same (sub-)topology that was signaled in the | selected if it is part of the same (sub-)topology that was signaled in the | |||
mLDP FEC element. Besides this restriction, the other procedures in | mLDP FEC element. Besides this restriction, the other procedures in | |||
<xref target="RFC6388"/> apply. | <xref target="RFC6388" format="default"/> apply. | |||
</t> | </t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="LSP Ping Extensions"> | <name>LSP Ping Extensions</name> | |||
<t> | <t> | |||
<xref target="RFC6425"/> defines procedures to detect data plane failures | <xref target="RFC6425" format="default"/> defines procedures to detect da | |||
in | ta plane failures in | |||
Multipoint MPLS LSPs. Section 3.1.2 of <xref target="RFC6425"/> defines n | multipoint MPLS LSPs. <xref target="RFC6425" sectionFormat="of" section=" | |||
ew Sub- | 3.1.2"/> defines new sub-types and sub-TLVs for Multipoint LDP FECs to be sent i | |||
Types and Sub-TLVs for Multipoint LDP FECs to be sent in "Target FEC | n the "Target FEC | |||
Stack" TLV of an MPLS echo request message <xref target="RFC8029"/>. | Stack" TLV of an MPLS Echo Request message <xref target="RFC8029" format= | |||
"default"/>. | ||||
</t> | </t> | |||
<t> | <t> | |||
To support LSP ping for MT Multipoint LSPs, this document uses | To support LSP ping for MT MP LSPs, this document uses | |||
existing sub-types "P2MP LDP FEC Stack" and "MP2MP LDP FEC Stack" | existing sub-types "P2MP LDP FEC Stack" and "MP2MP LDP FEC Stack" | |||
defined in <xref target="RFC6425"/>. The LSP Ping extension is to specify "MT IP" | defined in <xref target="RFC6425" format="default"/>. The LSP ping extens ion is to specify "MT IP" | |||
or "MT IPv6" in the "Address Family" field, set the "Address Length" | or "MT IPv6" in the "Address Family" field, set the "Address Length" | |||
field to 8 (for MT IP) or 20 (for MT IPv6), and encode the sub-TLV | field to 8 (for MT IP) or 20 (for MT IPv6), and encode the sub-TLV | |||
with additional {MT-ID, IPA} information as an extension to the "Root LSR | with additional {MT-ID, IPA} information as an extension to the "Root LSR | |||
Address" field. The resultant format of sub-tlv is as follows: | Address" field. The resultant format of sub-TLV is as follows: | |||
</t> | </t> | |||
<figure title="Multipoint LDP FEC Stack Sub-TLV Format for MT" anchor="mt- | <figure anchor="mt-fec-lspv"> | |||
fec-lspv"> | <name>Multipoint LDP FEC Stack Sub-TLV Format for MT</name> | |||
<artwork> | <artwork name="" type="" align="left" 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Address Family (MT IP/MT IPv6) | Address Length| | | |Address Family (MT IP/MT IPv6) | Address Length| | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |||
~ Root LSR Address (Cont.) ~ | ~ Root LSR Address (Cont.) ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Reserved | IPA | MT-ID | | | Reserved | IPA | MT-ID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Opaque Length | Opaque Value ... | | | Opaque Length | Opaque Value ... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | |||
~ ~ | ~ ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
</artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> | <t> | |||
The rules and procedures of using this new sub-TLV in an MPLS echo | The rules and procedures of using this new sub-TLV in an MPLS Echo | |||
request | Request message are the same as defined for the P2MP/MP2MP LDP FEC Stack | |||
message are the same as defined for P2MP/MP2MP LDP FEC Stack Sub-TLV in <xref ta | sub-TLV in <xref target="RFC6425" format="default"/>. The only | |||
rget="RFC6425"/>. The only difference is that the Root LSR address is now | difference is that the "Root LSR Address" field is now (sub-)topology sco | |||
(sub-)topology scoped. | ped. | |||
</t> | </t> | |||
</section> | </section> | |||
<section title="Implementation Status"> | <section numbered="true" toc="default"> | |||
<t> | <name>Security Considerations</name> | |||
[Note to the RFC Editor - remove this section before publication, as well as rem | ||||
ove the reference to | ||||
<xref target="RFC7942"/> | ||||
</t> | ||||
<t> | ||||
This section records the status of known implementations of the protocol defined | ||||
by this specification at the time of posting of this Internet-Draft, and is bas | ||||
ed on a proposal described in | ||||
<xref target="RFC7942"/> | ||||
. The description of implementations in this section is intended to assist the I | ||||
ETF in its decision processes in progressing drafts to RFCs. Please note that th | ||||
e listing of any individual implementation here does not imply endorsement by th | ||||
e IETF. Furthermore, no effort has been spent to verify the information presente | ||||
d here that was supplied by IETF contributors. This is not intended as, and must | ||||
not be construed to be, a catalog of available implementations or their feature | ||||
s. Readers are advised to note that other implementations may exist. | ||||
</t> | ||||
<t> | ||||
According to | ||||
<xref target="RFC7942"/> | ||||
, "this will allow reviewers and working groups to assign due consideration to d | ||||
ocuments that have the benefit of running code, which may serve as evidence of v | ||||
aluable experimentation and feedback that have made the implemented protocols mo | ||||
re mature. It is up to the individual working groups to use this information as | ||||
they see fit". | ||||
</t> | ||||
<section title="Cisco Systems"> | ||||
<t>The feature has been implemented on IOS-XR.</t> | ||||
<t> | ||||
<list style="symbols"> | ||||
<t>Organization: Cisco Systems</t> | ||||
<t> | ||||
Implementation: Cisco systems IOS-XR has an implementation. Capability has been | ||||
used from <xref target="RFC7307"/> and plan to update the value once IANA assign | ||||
s new value. | ||||
</t> | ||||
<t>Description: The implementation has been done.</t> | ||||
<t>Maturity Level: Product</t> | ||||
<t>Contact: mankamis@cisco.com</t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
</section> | ||||
<section title="Security Considerations"> | ||||
<t> | <t> | |||
This extension to mLDP does not introduce any new security | This extension to mLDP does not introduce any new security | |||
considerations beyond that already applied to the base LDP | considerations beyond what is already applied to the base LDP | |||
specification <xref target="RFC5036"/>, LDP extensions for Multi-Topology | specification <xref target="RFC5036" format="default"/>, the LDP | |||
specification <xref target="RFC7307"/> base mLDP specification <xref target="RF | extensions for Multi-Topology specification <xref target="RFC7307" | |||
C6388"/>, and MPLS | format="default"/>, the base mLDP specification <xref target="RFC6388" | |||
security framework <xref target="RFC5920"/>. | format="default"/>, and the MPLS security framework specification <xref t | |||
arget="RFC5920" | ||||
format="default"/>. | ||||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="IANA Considerations"> | <name>IANA Considerations</name> | |||
<t> | ||||
This document defines a new LDP capability parameter TLV. IANA is | ||||
requested to assign the lowest available value after 0x0500 from | ||||
"TLV Type Name Space" in the "Label Distribution Protocol (LDP) | ||||
Parameters" registry within "Label Distribution Protocol (LDP) Name | ||||
Spaces" as the new code point for the LDP TLV code point. | ||||
</t> | ||||
<figure title="IANA Code Point" anchor="iana"> | ||||
<artwork> | ||||
+-----+------------------+---------------+-------------------------+ | ||||
|Value| Description | Reference | Notes/Registration Date | | ||||
+-----+------------------+---------------+-------------------------+ | ||||
| TBA | MT Multipoint | This document | | | ||||
| | Capability | | | | ||||
+-----+------------------+---------------+-------------------------+ | ||||
</artwork> | ||||
</figure> | ||||
</section> | ||||
<section title="Contributor"> | ||||
<t> | ||||
Anuj Budhiraja | ||||
Cisco systems | ||||
</t> | ||||
</section> | ||||
<section title="Acknowledgments"> | ||||
<t> | <t> | |||
The authors would like to acknowledge Eric Rosen for his input on | This document defines a new LDP capability parameter TLV called the "MT M | |||
this specification. | ultipoint Capability". IANA has assigned the value 0x0510 from the | |||
"TLV Type Name Space" registry in the "Label Distribution Protocol (LDP) | ||||
Parameters" group as the new code point. | ||||
</t> | </t> | |||
</section> | ||||
<table anchor="iana"> | ||||
<name>MT Multipoint Capability</name> | ||||
<thead> | ||||
<tr> | ||||
<th>Value</th> | ||||
<th>Description</th> | ||||
<th>Reference</th> | ||||
<th>Notes/Registration Date</th> | ||||
</tr> | ||||
</thead> | ||||
<tbody> | ||||
<tr> | ||||
<td>0x0510</td> | ||||
<td>MT Multipoint Capability</td> | ||||
<td>RFC 9658</td> | ||||
<td></td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<references> | ||||
<name>References</name> | ||||
<references> | ||||
<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.4 | ||||
915.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
120.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
307.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
388.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
029.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
425.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
350.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
514.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.6 | ||||
513.xml"/> | ||||
</references> | ||||
<references> | ||||
<name>Informative References</name> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
036.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
918.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
919.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
920.xml"/> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
561.xml"/> | ||||
<references title="Normative References"> | <reference anchor="IANA-IGP-ALGO-TYPES" target="https://www.iana.org/ass | |||
&rfc2119; | ignments/igp-parameters"> | |||
<?rfc include="reference.RFC.4915"?> | ||||
<?rfc include="reference.RFC.5120"?> | ||||
<?rfc include="reference.RFC.7307"?> | ||||
<?rfc include="reference.RFC.6388"?> | ||||
<?rfc include="reference.RFC.8029"?> | ||||
<?rfc include="reference.RFC.6425"?> | ||||
<?rfc include="reference.RFC.9350"?> | ||||
<?rfc include="reference.RFC.7942"?> | ||||
<?rfc include="reference.RFC.6514"?> | ||||
<?rfc include="reference.RFC.8174"?> | ||||
<?rfc include="reference.RFC.6513"?> | ||||
</references> | ||||
<references title="Informative References"> | ||||
<?rfc include="reference.RFC.5036"?> | ||||
<?rfc include="reference.RFC.5918"?> | ||||
<?rfc include="reference.RFC.5919"?> | ||||
<?rfc include="reference.RFC.5920"?> | ||||
<?rfc include="reference.RFC.5561"?> | ||||
<reference anchor="IANA-IGP-ALGO-TYPES" | ||||
target="https://www.iana.org/assignments/igp-parameters/igp-parameters.xh | ||||
tml#igp-algorithm-types"> | ||||
<front> | <front> | |||
<title>IGP Algorithm Types</title> | <title>IGP Algorithm Types</title> | |||
<author/> | <author> | |||
<date/> | <organization>IANA</organization> | |||
</front> | </author> | |||
</front> | ||||
</reference> | </reference> | |||
</references> | ||||
</references> | </references> | |||
</back> | <section numbered="false" toc="default"> | |||
<name>Contributors</name> | ||||
<contact fullname="Anuj Budhiraja"> | ||||
<organization>Cisco Systems</organization></contact> | ||||
</section> | ||||
<section numbered="false" toc="default"> | ||||
<name>Acknowledgments</name> | ||||
<t> | ||||
The authors would like to acknowledge <contact fullname="Eric Rosen"/> fo | ||||
r his input on | ||||
this specification. | ||||
</t> | ||||
</section> | ||||
</back> | ||||
</rfc> | </rfc> | |||
End of changes. 105 change blocks. | ||||
569 lines changed or deleted | 523 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |