<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-ietf-lsr-multi-tlv-05"
     ipr="trust200902" submissionType="IETF" consensus="true">
  <front>
    <title abbrev="Multi-part TLVs">
      Multi-part TLVs in IS-IS
    </title>
    <author fullname="Parag Kaneriya " initials="P." surname="Kaneriya">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <street>Elnath-Exora Business Park Survey</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560103</code>
          <country>India</country>
        </postal>
        <email>pkaneria@juniper.net</email>
      </address>
    </author>
    <author fullname="Tony Li" initials="T." surname="Li">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <street>1133 Innovation Way</street>
          <city>Sunnyvale</city>
          <region>California</region>
          <code>94089</code>
          <country>USA</country>
        </postal>
        <phone></phone>
        <email>tony.li@tony.li</email>
      </address>
    </author>
    <author fullname="Antoni Przygienda" initials="A." surname="Przygienda">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <street>1133 Innovation Way</street>
          <city>Sunnyvale</city>
          <region>California</region>
          <code>94089</code>
          <country>USA</country>
        </postal>
        <email>prz@juniper.net</email>
      </address>
    </author>
    <author fullname="Shraddha Hegde" initials="S." surname="Hegde">
      <organization>Juniper Networks</organization>
      <address>
        <postal>
          <street>Elnath-Exora Business Park Survey</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560103</code>
          <country>India</country>
        </postal>
        <email>shraddha@juniper.net</email>
      </address>
    </author>
    <author fullname="Les Ginsberg" initials="L" surname="Ginsberg">
      <organization>Cisco Systems</organization>
      <address>
        <email>ginsberg@cisco.com</email>
      </address>
    </author>
    <date year="2024"/>
    <area>Routing Area</area>
    <workgroup>LSR Working Group</workgroup>
    <keyword>ISIS</keyword>
    <keyword>Draft</keyword>
    <abstract>
      <t>
        New technologies are adding new information into IS-IS while
        deployment scales are simultaneously increasing, causing the
        contents of many critical TLVs to exceed the currently supported
        limit of 255 octets.  Extensions exist that
        require significant IS-IS changes that could help address the
        problem, but a less drastic solution would be beneficial.  This
        document codifies the common mechanism of extending the TLV
	content space through multiple TLVs.
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="Introduction" title="Introduction">
      <t>
        The continued growth of the Internet has resulted in a commensurate
        growth in the scale of service provider networks and the amount of
        information carried in IS-IS <xref target="ISO10589"/>
        Type-Length-Value (TLV) tuples. Simultaneously, new traffic
        engineering technologies are defining new attributes, further adding
        to the scaling pressures. The original TLV definition allows for 255
        octets of payload, which is becoming increasingly stressful.
      </t>
      <t>
        Some TLV definitions have addressed this by explicitly stating
        that a TLV may appear multiple times inside of an
        LSP. However, this has not been done for many legacy TLVs,
        leaving the situation somewhat ambiguous.  The intent of this
        document is to clarify and codify the situation by explicitly
        making multiple occurences of a TLV the mechanism for scaling
        TLV contents, except where otherwise explicitly stated.
      </t>
      <t>
	This document does not alter the encoding of any TLV where multiple
	occurrences of a TLV are already defined. As of this writing,
	the authors are aware of the following TLVs that fall into
	this category:
	<list>
	  <t>
	    Router Capability TLV (Type 242) <xref target="RFC7981"/>
	  </t>
	  <t>
	    Application-Specific SRLG (Type 238) <xref
	    target="RFC9479"/>
	  </t>
	  <t>
	    Instance Identifier (type 7) <xref target="RFC8202"/>
	  </t>
	  <t>
	    Application-Specific Link Attributes (sub-TLV Type 16)
	    <xref target="RFC9479"/>
	  </t>
	</list>
      </t>
      <t>   
        Today, for example, the Extended IS Reachability TLV (22)
        <xref target="RFC5305"/>
        and MT Intermediate Systems TLV (222) <xref target="RFC5120"/>
        are TLVs where existing standards do not specify sending
        multiple TLVs for the same object and no other mechanism for
        expanding the information carrying capacity of the TLV has
        been specified.
      </t>
      <t>
        <xref target="RFC7356"/> has proposed a 16 bit length field for
        TLVs in flooding scoped Protocol Data Units (PDUs), but this
	does not address how to expand the information advertised when
	using the existing 8-bit length TLVs.
      </t>
      <t>
        The mechanism described in this document has not been documented
        for all TLVs previously, so it is likely that some
        implementations would not interoperate correctly if these
        mechanisms were used without caution. 
      </t>
      <t>
	The mechanism described in this document has been used
	explicitly by some implementations, so this document is not
	creating an unprecedented mechanism. It is specifying a means
	for extending TLVs where no extension mechanism has been
	previously specified, and defining a default extension
	mechanism for future TLVs, if they choose not to specify
	another extension mechanism. The mechanism described in this
	document is applicable to top level TLVs as well as any level
	of sub-TLVs which may appear within a top level TLV.
      </t>
    </section>
    <section anchor="ReqLang" title="Requirements Language">
      <t>
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
        NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
        "MAY", and "OPTIONAL" in this document are to be interpreted as
        described in <xref target="RFC2119">BCP 14</xref>
        <xref target="RFC8174"/>
        when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>
    <section title="Multi-part TLVs">
      <t>
	A TLV is a tuple of (Type, Length, Value) and can be
	advertised in IS-IS packets. TLVs sometimes contain
	information, called a key, that indicates the applicability of
	the remaining contents of the TLV.  If a router advertises
	multiple TLV tuples with the same Type code in an IS-IS IIH
	packet or in the set of LSPs for a level with the same key
	value, they are considered a multi-part TLV (MP-TLV).
      </t>
    </section>

    <section title="Procedure for Advertising Multi-part TLVs">
      <t>
	Network operators should not enable Multi-part TLVs until
	ensuring that all implementations that will receive the
	Multi-part TLVs are capable of interpreting them correctly.
      </t>
      <t>
        If a Multi-part TLV contains information that specifies the
        applicability of its contents (i.e., a key), the key
        information MUST be replicated in additional TLV instances
        so that all contents specific to that key can be identified.
      </t>
      <section title="Example: Extended IS Reachability">
	<t>
          As an example, consider the Extended IS Reachability TLV (type
          22).  A neighbor in this TLV is specified by:
          <list style="symbols">
            <t>
              7 octets of system ID and pseudonode number
            </t> 
            <t> 
              3 octets of default metric
            </t>
	    <t>
	      Optionally one or more of the following link identifiers:
              <list style="symbols">
		<t>
		  IPv4 interface address and IPv4 neighbor address
		  as specified in <xref target="RFC5305"/>
		</t>
		<t>
		  IPv6 interface address and IPv6 neighbor address
		  as specified in <xref target="RFC6119"/>
		</t>
		<t>
		  Link Local/Remote Identifiers
		  as specified in <xref target="RFC5307"/>
		</t>
	      </list>
	    </t>
          </list>
	</t>
	<t>       
          The key consists of the 7 octets of system ID and pseudonode number
	  plus the set of link identifiers which are present.
	</t>
	<t>
          If the remaining space in the TLV is insufficient to advertise all
	  other sub-TLVs, then the node MAY advertise additional Extended IS
	  Reachability TLVs. The following key information MUST be replicated
	  in each of the additional Extended IS Reachability TLVs:
	  <list style="symbols">
            <t>
              7 octets of system ID and pseudonode number
            </t> 
	    <t>
	      The set of link identifiers SHOULD be identical in all TLVs
	      which are part of the MP-TLV set.
	    </t>
	  </list>
	</t>
      </section>

      <section title="Example: Extended IP Reachability">
      <t>
        As another example, consider the Extended IP Reachability TLV
        (type 135) <xref target="RFC5305"/>. A prefix in this TLV is
        specified by:
	<list style="symbols">
          <t>
	    4 octets of metric information
	  </t>
	  <t>
	    1 octet of control information which includes 6 bits specifying
	    the prefix length
	  </t>
	  <t>
	    0-4 octets of IPv4 prefix
	  </t>
	</list>
	<t>
	  followed by up to 250 octets of sub-TLV information.
	</t>
	<t>
	  The key consists of the 6 bits of prefix length and the 0-4 octets of
	  IPv4 prefix.
	</t>
      </t>
	<t>
	  If this is insufficient sub-TLV space, then the node MAY advertise
	  additional instances of the Extended IP Reachability TLV.  The key
	  information MUST be replicated identically.  The complete
	  information for a given key in such cases is the joined set of all
	  the carried information under the key in all the TLV instances.
	</t>
      </section>
    </section>
 
    <section title="Procedure for Receiving Multi-part TLVs">
      <t>
        A node that receives a multi-part TLV MUST accept all of the
        information in all of the parts. The order of arrival and
        placement of the TLV parts in LSP fragments is irrelevant.
	Multiple TLV parts MAY occur in a single LSP or parts MAY occur
	in different LSPs.
      </t>
      <t>
	The placement of the TLV parts in an IIH is irrelevant.
      </t>
      <t>
	When processing MP-TLVs, implementations MUST NOT impose a minimum
	length check. Although MP-TLVs SHOULD NOT be sent unless the
	capacity of a single TLV (255 octets) is exceeded, receivers MUST
	NOT reject MP-TLVs if senders do not strictly adhere to this
	constraint. See <xref target="MPTLVRestrict"/> for guidance when
	sending MP-TLVs.
      </t>
      <t>
        The contents of a multi-part TLV MUST be processed as if
        they were concatenated.  If the internals of the TLV contain
        key information, then replication of the key information
        MUST be taken to indicate that subsequent data MUST be
        processed as if the subsequent data were concatenated after a
	single copy of the key information.
      </t>
      <t>
        For example, suppose that a node receives an LSP with a
        multi-part Extended IS Reachability TLV. The first part
        contains key information K with sub-TLVs A, B, and C. The
        second part contains key information K with sub-TLVs D, E, and
        F. The receiving node must then process this as having key
        information K and sub-TLVs A, B, C, D, E, F, or, because
        ordering is irrelevant, sub-TLVs D, E, F, A, B, C, or any
	other permutation.
      </t>
      <t>
	If the internals of the TLV do NOT include key information,
	the relevant key can be found in the parent TLV.
      </t>
      <t>
	A TLV may contain information in its fixed part that is not
	part of the key. For example, the metric in both the Extended
	IS Reachability TLV and the Extended IP Reachability TLV does
	not specify which object the TLV refers to, and thus is not
	part of the key. Having inconsistent information in different
	parts of a MP-TLV is an error.
      </t>
      <t>
	It is also possible that information which is NOT part of the fixed
	part of a TLV can be duplicated e.g., the same sub-TLV could appear
	multiple times whether within the same TLV or in different parts of
	an MP-TLV. This is also an error.
      </t>
      <t>
	Specifying how to handle such cases is the responsibility of the
	document which defines the TLV. If such a document is not explicit
	in how to handle such cases, it is RECOMMENDED that the first
	occurrence in the lowest numbered LSP be used. In the case of IIHs,
	it is RECOMMENDED that the first occurrence in the IIH be used.
      </t>
    </section>

    <section anchor="Applicability" title="Specification of Applicability of Multi-part TLV ">
      <t>
	As mentioned in <xref target="Introduction"/>, existing specifications
	for some TLVs have explicitly stated that the use of Multi-Part
	TLV procedures are applicable to that codepoint. However, Multi-Part
	TLV procedures are potentially applicable to any codepoint that allows
	sub-TLVs to be included as part of the information advertised.
	Multi-part procedures may also be applicable to codepoints which
	do not support sub-TLVs, but which define an unbounded number of
	attributes which may be advertised in a single codepoint. An
	example of the latter is GMPLS-SRLG as defined in
	<xref target="RFC5307"/>.
      </t>
      <t>
	The lack
	of explicit indication of applicability of Multi-Part TLV procedures
	to all codepoints to which such procedures could be applied
	contributes to potential interoperability problems if/when the need
	arises to advertise more than 255 octets of information for such a
	codepoint.
      </t>
      <t>
	This document makes explicit the applicability of Multi-Part TLV
	procedures for all existing codepoints defined for the IS-IS protocol
	by extending existing and relevant IANA protocol registries to include
	an explicit indication of applicability of Multi-Part TLV procedures
	for each codepoint. See <xref target="IANA"/>. This guarantees that
	any new codepoints defined by future protocol extensions will
	explicitly indicate the applicability of Multi-Part TLV
	procedures to the new codepoints.
      </t>
    </section>

    <section title="Deployment Considerations">
      <t>
	Sending of MP-TLVs in the presence of nodes which do not
	correctly process such advertisements can result in
	interoperablity issues, including incorrect forwarding of
	packets. This section discusses best practices which SHOULD
	be used when a deployment requires the use of MP-TLVs for codepoints
	for which existing specifications
	do not explicitly indicate MP-TLV support.
      </t>
      <t>
	While it is not in scope for this document to mandate how
	implementations provide the means to prevent (or at least make less
	likely) partial deployment of MP-TLV for a given codepoint, it is
	important to emphasize the need to assist operators in avoiding
	inadvertent problematic deployment scenarios. Providing appropriate
	controls to enable/disable the sending of MP-TLVs as discussed
	in <xref target="Controls"/> is essential to avoid interoperability
	issues.
      </t>
      <section anchor="Controls" title="Recommended Controls and Alarms">
      <t>
	It is RECOMMENDED that implementations which support
	the sending of MP-TLVs provide configuration controls to
	enable/disable generation of MP-TLVs. Given that MP-TLV support
	in a given implementation may vary on a per
	TLV basis, these controls SHOULD support per codepoint granularity.
	For example, an implementation might support MP-TLVs for
	IS Extended Reachability but not for IP Reachability.
      </t>
      <t>
	Implementations SHOULD report alarms under the following conditions:
      </t>
      <list style="symbols">
	<t>
	  If an MP-TLV is received when use of MP-TLVs is disabled.
	</t>
	<t>
	  If local LSP generation requires the use of MP-TLVs when generation
	  of MP-TLVs is disabled.
	</t>
      </list>
    </section>
      <section anchor="MPTLVCap" title="MP-TLV Capability Advertisement">
	<t>
	  Introduction of the use of MP-TLV for codepoints where the existing
	  specifications have not explicitly defined MP-TLV support can be
	  extremely disruptive to network operations in cases where not all
	  nodes in the network support MP-TLV for those codepoints.
	  Partial deployment can easily result in traffic loss and/or
	  other unexpected behaviors which may be hard to diagnose.
	</t>
	<t>
	  As an aid to network operators, a new sub-TLV of the IS-IS
	  Router CAPABILITY TLV <xref target="RFC7981"/> is defined:
	</t>
	<artwork>
MP-TLV Support for TLVs with implicit support

Type 30 (suggested - to be assigned by IANA)    1 octet
Length 0                                        1 octet
	</artwork>
	<t>
	  Nodes which support MP-TLV for codepoints for which existing
	  specifications do not explicitly define such support, but for
	  which MP-TLV is applicable, SHOULD include
	  this sub-TLV in a Router Capability TLV.
	</t>
	<t>
	  Scope of the associated Router Capability TLV is per level
	  (S-bit clear).
	</t>
	<t>
	  This advertisement is for informational purposes only. Implementations
	  MUST NOT alter what is sent or how what is received is processed
	  based on these advertisements.
	</t>
	<t>
	  The sub-TLV intentionally does not provide a syntax to
	  specify MP-TLV support on a per-codepoint basis. It is presumed
	  that if
	  such support is provided that it applies to all relevant codepoints.
	  It is understood that in reality, a given implementation might limit
	  MP-TLV support to particular codepoints based on the needs of the
	  deployment scenarios in which it is used. Therefore,
	  diligence is still
	  required on the part of the operator to ensure that configurations
	  which require the sending of MP-TLV for a given codepoint are
	  not introduced on any node in the network until all nodes
	  in the network support MP-TLV for the relevant codepoints.
	</t>
	<t>
	  The Router Capability TLV is meant to advertise capabilities which
	  are of direct use to the IS-IS protocol. The MP-TLV Support sub-TLV
	  advertises management information, not of direct use to the protocol.
	  The intent is to provide information  which may be of use to a
	  network operator. This exception to the intended use of the Router
	  Capability TLV is introduced to help mitigate the potential
	  disruptiveness associated with the introduction of MP-TLV support
	  in cases where such support has not been explicitly defined.
	  This is not intended to introduce a generic new use case for the
	  Router Capability TLV.
	</t>
	<t>
	  Note that with the introduction of explicit specification of MP-TLV
	  applicability for codepoints (see <xref target="IANA"/>), implicit
	  MP-TLV support will never occur in the future. Where MP-TLV support is
	  explicitly defined, conformant implementations MUST support MP-TLV.
	</t>
    </section>
      <section anchor="MPTLVRestrict" title="Restrictions on Generation of MP-TLVs">
	<t>
	  This section discusses restrictions on sending of MP-TLVs. When
	  applying these restrictions it is assumed that it has already
	  been determined that sending of MP-TLVs is allowed based on the
	  setting of the controls discussed in <xref target="Controls"/>.
	</t>
	<t>
	  Sending a single TLV with all the information about an object is
	  preferable to sending multiple TLVs. It is simpler and more efficient
	  to parse information from a single TLV than to combine the
	  information from multiple TLVs. Implementations SHOULD NOT send
	  multiple TLVs unless MP-TLV is applicable to the TLV and the amount
	  of information which is required to be sent exceeds the capacity of
	  a single TLV.  For example, when additional space is required in an
	  existing TLV, as long as there is space in the TLV, information
	  SHOULD NOT be split into multiple TLVs. If there is no space in the
	  current LSP to fit the now larger TLV, the TLV SHOULD be moved to
	  a new LSP.
	</t>
    </section>
    </section>
    
    <section anchor="IANA" title="IANA Considerations">
      <section title="MP-TLV Support sub-TLV">
      <t>
	This document requests the following code point from the
	"IS-IS Sub-TLVs for IS-IS Router CAPABILITY TLV" registry:
      </t>
      <artwork>
Type: 30 (suggested)
Description: MP-TLV Support for TLVs with implicit support
MP-TLV Applicability: N
Reference: This document Section 7.2
      </artwork>
      </section>
      <section title="Extension to IS-IS Top Level TLV Registries">
      <t>
        This document requests that IANA extend a number of registries under
	the "IS-IS TLV Codepoints" registries to include a column
	that indicates whether the MP-TLV procedures described in this
	document are applicable to that codepoint. "Y" indicates that
	MP-TLV is applicable. "N" indicates MP-TLV is not applicable.
      </t>
      <t>
	The following sub-sections provide the initial contents of the new
	column for a number of existing registries. The initial values for
	MP-TLV applicability defined in the following sub-sections are based
	on the rule that MP-TLV is applicable to any codepoint which supports
	sub-TLVs, without regard to whether the sub-TLVs which are currently
	defined are sufficient to require MP-TLVs to be sent.
      </t>
    <section anchor="Top-Level" title="MP-TLV for IS-IS Top-Level TLV Codepoints">
      <table anchor="table_top">
	<name>IS-IS Top-Level TLV Codepoints</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1</td>
	    <td>Area Addresses</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>2</td>
	    <td>IIS Neighbors</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>3</td>
	    <td>ES Neighbors</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>4</td>
	    <td>Part. DIS</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>5</td>
	    <td>Prefix Neighbors</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>6</td>
	    <td>IIS Neighbors</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>7</td>
	    <td>Instance Identifier</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>8</td>
	    <td>Padding</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>9</td>
	    <td>LSP Entries</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>10</td>
	    <td>Authentication</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>11</td>
	    <td>ESN TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>12</td>
	    <td>Opt. Checksum</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>13</td>
	    <td>Purge Originator Identification</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>14</td>
	    <td>LSPBufferSize</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>15</td>
	    <td>Router-Fingerprint</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>16</td>
	    <td>Reverse Metric</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>17</td>
	    <td>IS-IS Area Node IDs TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>18</td>
	    <td>IS-IS Flooding Path TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>19</td>
	    <td>IS-IS Flooding Request TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>20</td>
	    <td>Area Proxy</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>21</td>
	    <td>Flooding Parameters TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>22</td>
	    <td>Extended IS reachability</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>23</td>
	    <td>IS Neighbor Attribute</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>24</td>
	    <td>IS Alias ID</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>25</td>
	    <td>L2 Bundle Member Attributes</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>26</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>27</td>
	    <td>SRv6 Locator</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>28</td>
	    <td>Zone ID</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>29-41</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>42</td>
	    <td>DECnet Phase IV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>43-65</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>66</td>
	    <td>Lucent Proprietary</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>67-125</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>126</td>
	    <td>IPv4 Algorithm Prefix Reachability TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>127</td>
	    <td>IPv6 Algorithm Prefix Reachability TLV</td>
            <td>N</td>
	  </tr>
	  <tr>
	    <td>128</td>
	    <td>IP Int. Reach</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>129</td>
	    <td>Prot. Supported</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>130</td>
	    <td>IP Ext. Address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>131</td>
	    <td>IDRPI</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>132</td>
	    <td>IP Intf. Address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>133</td>
	    <td>Illegal</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>134</td>
	    <td>Traffic Engineering router ID</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>135</td>
	    <td>Extended IP reachability</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>136</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>137</td>
	    <td>Dynamic Name</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>138</td>
	    <td>GMPLS-SRLG</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>139</td>
	    <td>IPv6 SRLG</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>140</td>
	    <td>IPv6 TE Router ID</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>141</td>
	    <td>inter-AS reachability information</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>142</td>
	    <td>GADDR-TLV</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>143</td>
	    <td>MT-Port-Cap-TLV</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>144</td>
	    <td>MT-Capability TLV</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>145</td>
	    <td>TRILL Neighbor TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>146</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>147</td>
	    <td>MAC-RI TLV</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>148</td>
	    <td>BFD-Enabled TLV</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>149</td>
	    <td>Segment Identifier / Label Binding</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>150</td>
	    <td>Multi-Topology Segment Identifier / Label Binding</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>151-160</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>161</td>
	    <td>Flood Reflection</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>162-175</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>176</td>
	    <td>Nortel Proprietary</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>177</td>
	    <td>Nortel Proprietary</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>178-210</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>211</td>
	    <td>Restart TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>212-221</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>222</td>
	    <td>MT-ISN</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>223</td>
	    <td>MT IS Neighbor Attribute</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>224-228</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>229</td>
	    <td>M-Topologies</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>230-231</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>232</td>
	    <td>IPv6 Intf. Addr.</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>233</td>
	    <td>IPv6 Global Interface Address TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>234</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>235</td>
	    <td>MT IP. Reach</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>236</td>
	    <td>IPv6 IP. Reach</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>237</td>
	    <td>MT IPv6 IP. Reach</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>238</td>
	    <td>Application-Specific SRLG</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>239</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>240</td>
	    <td>P2P 3-Way Adj. State</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>241</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>242</td>
	    <td>IS-IS Router CAPABILITY TLV</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>243</td>
	    <td>Scope Flooding Support</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>244-250</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>251</td>
	    <td>Generic Information</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>252-65535</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

    <section anchor="ReverseMetric" title="MP-TLV for IS-IS Sub-TLVs for Reverse Metric TLV">
      <table anchor="table_rev">
	<name>IS-IS Sub-TLVs for Reverse Metric TLV</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1-17</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>18</td>
	    <td>Traffic Engineering Metric</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>19-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

    <section anchor="NeighborInfo" title="MP-TLV for IS-IS Sub-TLVs for TLVs Advertising Neighbor Information">
      <table anchor="table_nei">
	<name>IS-IS Sub-TLVs for TLVs Advertising Neighbor Information</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0-2</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>3</td>
	    <td>Administrative group (color)</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>4</td>
	    <td>Link Local/Remote Identifiers</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>5</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>6</td>
	    <td>IPv4 interface address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>7</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>8</td>
	    <td>IPv4 neighbor address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>9</td>
	    <td>Maximum link bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>10</td>
	    <td>Maximum reservable link bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>11</td>
	    <td>Unreserved bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>12</td>
	    <td>IPv6 Interface Address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>13</td>
	    <td>IPv6 Neighbor Address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>14</td>
	    <td>Extended Administrative Group</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>15</td>
	    <td>Link MSD</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>16</td>
	    <td>Application-Specific Link Attributes</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>17</td>
	    <td>Generic Metric</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>18</td>
	    <td>TE Default metric</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>19</td>
	    <td>Link-attributes</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>20</td>
	    <td>Link Protection Type</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>21</td>
	    <td>Interface Switching Capability Descriptor</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>22</td>
	    <td>Bandwidth Constraints</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>23</td>
	    <td>Unconstrained TE LSP Count (sub-)TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>24</td>
	    <td>Remote AS Number</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>25</td>
	    <td>IPv4 Remote ASBR Identifier</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>26</td>
	    <td>IPv6 Remote ASBR Identifier</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>27</td>
	    <td>Interface Adjustment Capability Descriptor (IACD)</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>28</td>
	    <td>MTU</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>29</td>
	    <td>SPB-Metric</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>30</td>
	    <td>SPB-A-OALG</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>31</td>
	    <td>Adjacency Segment Identifier</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>32</td>
	    <td>LAN Adjacency Segment Identifier</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>33</td>
	    <td>Unidirectional Link Delay</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>34</td>
	    <td>Min/Max Unidirectional Link Delay</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>35</td>
	    <td>Unidirectional Delay Variation</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>36</td>
	    <td>Unidirectional Link Loss</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>37</td>
	    <td>Unidirectional Residual Bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>38</td>
	    <td>Unidirectional Available Bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>39</td>
	    <td>Unidirectional Utilized Bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>40</td>
	    <td>RTM Capability</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>41</td>
	    <td>L2 Bundle Member Adj-SID</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>42</td>
	    <td>L2 Bundle Member LAN Adj-SID</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>43</td>
	    <td>SRv6 End.X SID</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>44</td>
	    <td>SRv6 LAN End.X SID</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>45</td>
	    <td>IPv6 Local ASBR Identifier</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>46-160</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>161</td>
	    <td>Flood Reflector Adjacency</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>162-249</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>250-254</td>
	    <td>Reserved for Cisco-specific extensions</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>255</td>
	    <td>Reserved for future expansion</td>
	    <td></td>
	  </tr>
	</tbody>
	</table>
      </section>

      <section anchor="PrefixReach" title="MP-TLV for IS-IS Sub-TLVs for TLVs Advertising Prefix Reachability">
	<table anchor="table_pfx">
	  <name>IS-IS Sub-TLVs for TLVs Advertising Prefix Reachability</name>
	  <thead>
	    <tr>
	      <th align='center'>Value</th>
	      <th align='center'>Name</th>
	      <th align='center'>MP</th>
	    </tr>
	  </thead>
	  <tbody>
	    <tr>
	      <td>0</td>
	      <td>Unassigned</td>
	      <td></td>
	    </tr>
	    <tr>
	      <td>1</td>
	      <td>32-bit Administrative Tag Sub-TLV</td>
	      <td>Y</td>
	    </tr>
	    <tr>
	      <td>2</td>
	      <td>64-bit Administrative Tag Sub-TLV</td>
	      <td>Y</td>
	    </tr>
	    <tr>
	      <td>3</td>
	      <td>Prefix Segment Identifier</td>
	      <td>N</td>
	    </tr>
	    <tr>
	      <td>4</td>
	      <td>Prefix Attribute Flags</td>
	      <td>N</td>
	    </tr>
	    <tr>
	      <td>5</td>
	      <td>SRv6 End SID</td>
	      <td>Y</td>
	    </tr>
	    <tr>
	      <td>6</td>
	      <td>Flexible Algorithm Prefix Metric (FAPM)</td>
	      <td>N</td>
	    </tr>
	    <tr>
	      <td>7-10</td>
	      <td>Unassigned</td>
	      <td></td>
	    </tr>
	    <tr>
	      <td>11</td>
	      <td>IPv4 Source Router ID</td>
	      <td>N</td>
	    </tr>
	    <tr>
	      <td>12</td>
	      <td>IPv6 Source Router ID</td>
	      <td>N</td>
	    </tr>
	    <tr>
	      <td>13-31</td>
	      <td>Unassigned</td>
	      <td></td>
	    </tr>
	    <tr>
	      <td>32</td>
	      <td>BIER Info</td>
	      <td>Y</td>
	    </tr>
	    <tr>
	      <td>32-255</td>
	      <td>Unassigned</td>
	      <td></td>
	    </tr>
	  </tbody>
	</table>
      </section>

      <section anchor="MT-Capability" title="MP-TLV for IS-IS Sub-TLVs for MT-Capability TLV">
      <table anchor="table_mt">
	<name>IS-IS Sub-TLVs for MT-Capability TLV</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1</td>
	    <td>SPB-Inst</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>2</td>
	    <td>SPB-I-OALG</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>3</td>
	    <td>SPBM-SI</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>4</td>
	    <td>SPBV-ADDR</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>5</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>6</td>
	    <td>NICKNAME</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>7</td>
	    <td>TREES</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>8</td>
	    <td>TREE-RT-IDs</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>9</td>
	    <td>TREE-USE-IDs</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>10</td>
	    <td>INT-VLAN</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>11-12</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>13</td>
	    <td>TRILL-VER</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>14</td>
	    <td>VLAN-GROUP</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>15</td>
	    <td>INT-LABEL</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>16</td>
	    <td>RBCHANNELS</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>17</td>
	    <td>AFFINITY</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>18</td>
	    <td>LABEL-GROUP</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>19-20</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>21</td>
	    <td>Topology sub-TLV</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>22</td>
	    <td>Hop sub-TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>23</td>
	    <td>Bandwidth Constraint sub-TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>24</td>
	    <td>Bandwidth Assignment sub-TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>25</td>
	    <td>Timestamp sub-TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>26-254</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>255</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
      </section>

      <section anchor="Router_cap" title="MP-TLV for IS-IS Sub-TLVs for IS-IS Router CAPABILITY TLV">

      <table anchor="table_cap">
	<name>IS-IS Sub-TLVs for IS-IS Router CAPABILITY TLV</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1</td>
	    <td>TE Node Capability Descriptor</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>2</td>
	    <td>Segment Routing Capability</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>3</td>
	    <td>TE-MESH-GROUP TLV (IPv4)</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>4</td>
	    <td>TE-MESH-GROUP TLV (IPv6)</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>5</td>
	    <td>PCED sub-TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>6</td>
	    <td>NICKNAME</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>7</td>
	    <td>TREES</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>8</td>
	    <td>TREE-RT-IDs</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>9</td>
	    <td>TREE-USE-IDs</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>10</td>
	    <td>INT-VLAN</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>11</td>
	    <td>IPv4 TE Router ID</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>12</td>
	    <td>IPv6 TE Router ID</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>13</td>
	    <td>TRILL-VER</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>14</td>
	    <td>VLAN-GROUP</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>15</td>
	    <td>INT-LABEL</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>16</td>
	    <td>RBCHANNELS</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>17</td>
	    <td>AFFINITY</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>18</td>
	    <td>LABEL-GROUP</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>19</td>
	    <td>Segment Routing Algorithm</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>20</td>
	    <td>S-BFD Discriminators</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>21</td>
	    <td>Node-Admin-Tag</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>22</td>
	    <td>Segment Routing Local Block (SRLB)</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>23</td>
	    <td>Node MSD</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>24</td>
	    <td>Segment Routing Mapping Server Preference (SRMS Preference)</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>25</td>
	    <td>SRv6 Capabilities</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>26</td>
	    <td>Flexible Algorithm Definition (FAD)</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>27</td>
	    <td>IS-IS Area Leader Sub-TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>28</td>
	    <td>IS-IS Dynamic Flooding Sub-TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>29</td>
	    <td>IP Algorithm Sub-TLV</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>30-160</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>161</td>
	    <td>Flood Reflection Discovery</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>162-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

    <section anchor="cap_sub" title="IS-IS Sub-Sub-TLVs for SRv6 Capabilities Sub-TLV">
      <table anchor="table_cap_sub">
	<name>IS-IS Sub-Sub-TLVs for SRv6 Capabilities Sub-TLV</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

        <section anchor="BIER_SUB" title="MP-TLV IS-IS Sub-Sub-TLVs for BIER Info Sub-TLV">

      <table anchor="table_bier_sub">
	<name>IS-IS Sub-Sub-TLVs for BIER Info Sub-TLV</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1</td>
	    <td>BIER MPLS Encapsulation</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>2-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

    <section anchor="segid_sub" title="MP-TLV for IS-IS Sub-TLVs for Segment Identifier/Label Binding TLVs">

      <table anchor="table_segid_sub">
	<name>IS-IS Sub-TLVs for Segment Identifier/Label Binding TLVs</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1</td>
	    <td>SID/Label</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>2</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>3</td>
	    <td>Prefix Segment Identifier</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>4-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

        <section anchor="sub_sub_asla" title="MP-TLV for IS-IS Sub-Sub-TLV Codepoints for Application-Specific Link Attributes">

      <table anchor="table_sub_sub_asla">
	<name>IS-IS Sub-Sub-TLV Codepoints for Application-Specific Link Attributes</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0-2</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>3</td>
	    <td>Administrative group (color)</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>4-8</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>9</td>
	    <td>Maximum link bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>10</td>
	    <td>Maximum reservable link bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>11</td>
	    <td>Unreserved bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>12-13</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>14</td>
	    <td>Extended Administrative Group</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>15-16</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>17</td>
	    <td>Generic Metric</td>
	    <td>Y</td>
	  </tr>
	  <tr>
	    <td>18</td>
	    <td>TE Default Metric</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>19-32</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>33</td>
	    <td>Unidirectional Link Delay</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>34</td>
	    <td>Min/Max Unidirectional Link Delay</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>35</td>
	    <td>Unidirectional Delay Variation</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>36</td>
	    <td>Unidirectional Link Loss</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>37</td>
	    <td>Unidirectional Residual Bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>38</td>
	    <td>Unidirectional Available Bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>39</td>
	    <td>Unidirectional Utilized Bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>40-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

    <section anchor="srlg_sub" title="MP-TLV for IS-IS Sub-TLVs for Application-Specific SRLG TLV">

      <table anchor="table_srlg_sub">
	<name>IS-IS Sub-TLVs for Application-Specific SRLG TLV</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0-3</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>4</td>
	    <td>Link Local/Remote Identifiers</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>5</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>6</td>
	    <td>IPv4 interface address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>7</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>8</td>
	    <td>IPv4 neighbor address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>9-11</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>12</td>
	    <td>IPv6 Interface Address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>13</td>
	    <td>IPv6 Neighbor Address</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>14-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

        <section anchor="SRv6_sub_sub" title="MP-TLV for IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs">

      <table anchor="table_srv6_subsub">
	<name>IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1</td>
	    <td>SRv6 SID Structure</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>2-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

            <section anchor="Flex_sub_sub" title="MP-TLV for IS-IS Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV">

      <table anchor="table_flex_subsub">
	<name>IS-IS Sub-Sub-TLVs for Flexible Algorithm Definition Sub-TLV</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
	  <tr>
	    <td>0</td>
	    <td>Reserved</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>1</td>
	    <td>Flexible Algorithm Exclude Admin Group</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>2</td>
	    <td>Flexible Algorithm Include-Any Admin Group</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>3</td>
	    <td>Flexible Algorithm Include-All Admin Group</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>4</td>
	    <td>Flexible Algorithm Definition Flags</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>5</td>
	    <td>Flexible Algorithm Exclude SRLG</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>6</td>
	    <td>IS-IS Exclude Minimum Bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>7</td>
	    <td>IS-IS Exclude Maximum Delay</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>8</td>
	    <td>IS-IS Reference Bandwidth</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>9</td>
	    <td>IS-IS Threshold Metric</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>10-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>

        <section anchor="reflect_sub" title="MP-TLV for IS-IS Sub-Sub-TLVs for Flood Reflection Discovery Sub-TLV">

      <table anchor="table_reflect_sub">
	<name>IS-IS Sub-Sub-TLVs for Flood Reflection Discovery Sub-TLV</name>
	<thead>
	  <tr>
	    <th align='center'>Value</th>
	    <th align='center'>Name</th>
	    <th align='center'>MP</th>
	  </tr>
	</thead>
	<tbody>
  	  <tr>
	    <td>0-160</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	  <tr>
	    <td>161</td>
	    <td>Flood Reflection Discovery Tunnel Encapsulation Attribute</td>
	    <td>N</td>
	  </tr>
	  <tr>
	    <td>162-255</td>
	    <td>Unassigned</td>
	    <td></td>
	  </tr>
	</tbody>
      </table>
    </section>
    </section>
  </section>
  
    <section anchor="Security" title="Security Considerations">
      <t>
        This document creates no new security issues for IS-IS. Additional
        instances of existing TLVs expose no new information.
      </t>
      <t>
        Security concerns for IS-IS are addressed in <xref
        target="ISO10589"/>, <xref target="RFC5304"/>, and <xref
        target="RFC5310"/>.
      </t>
    </section>

    <section anchor="Contrib" title="Contributors">
    <t>The following people gave a substantial contribution to the content of this document and should be considered coauthors:</t>
        <contact fullname="Chris Bowers" initials="C." surname="Bowers">
      <address>
        <email>cbowers107@gmail.com</email>
      </address>
    </contact>
    </section>

  </middle>
  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>
      <?rfc include='reference.RFC.5120'?>
      <?rfc include='reference.RFC.5304'?>
      <?rfc include='reference.RFC.5305'?>
      <?rfc include='reference.RFC.5307'?>
      <?rfc include='reference.RFC.5310'?>
      <?rfc include='reference.RFC.6119'?> 
      <?rfc include='reference.RFC.7356'?>
      <?rfc include='reference.RFC.7981'?> 
      <?rfc include='reference.RFC.8174'?>
      <?rfc include='reference.RFC.8202'?>
      <?rfc include='reference.RFC.9479'?>
      <reference anchor="ISO10589" target="ISO/IEC 10589:2002">
        <front>
          <title>
            Intermediate system to Intermediate system routing information exchange protocol for use in conjunction with the Protocol for providing the Connectionless-mode Network Service (ISO 8473)
          </title>
          <author fullname="ISO" initials="" surname="ISO">
            <organization>IANA</organization>
          </author>
          <date month="August" year="1987"/>
        </front>
      </reference>
    </references>
  </back>
</rfc>
