<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
<!ENTITY nbsp    "&#160;">
<!ENTITY zwsp   "&#8203;">
<!ENTITY nbhy   "&#8209;">
<!ENTITY wj     "&#8288;">
]>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that
most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="std" docName="draft-ietf-lsr-ospf-ls-link-infinity-25"
     ipr="trust200902"
     obsoletes=""
     updates="5443, 6987, 8770"
     submissionType="IETF"
     xml:lang="en"
     tocInclude="true"
     tocDepth="6"
     symRefs="true"
     sortRefs="true"
     consensus="true"
     version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <!-- category values: std, bcp, info, exp, and historic
       ipr values: full3667, noModification3667, noDerivatives3667
       you can add the attributes updates="NNNN" and obsoletes="NNNN"
       they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <title abbrev="Advertising Unreachable Links in OSPF">Advertising Unreachable Links in OSPF</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lsr-ospf-ls-link-infinity-25"/>
    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="Liyan Gong" initials="L." surname="Gong">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>gongliyan@chinamobile.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>chengweiqiang@chinamobile.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    <author fullname="Changwang Lin" initials="C." surname="Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>linchangwang.04414@h3c.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    <author fullname="Acee Lindem" initials="A." surname="Lindem">
      <organization>Arrcus, Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>acee.ietf@gmail.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    <author fullname="Ran Chen" initials="R." surname="Chen">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>chen.ran@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    <date year="2026"/>
    <!-- Meta-data Declarations -->

    <area>General</area>
    <workgroup>LSR Working Group</workgroup>
    <keyword>LSR Working Group</keyword>
    <keyword>OSPF</keyword>
    <keyword>ls</keyword>
    <abstract>
      <t>
        OSPF Router Link State Advertisements (LSAs) use fixed-format encodings
        that always include advertised links in the default SPF (Shortest Path
        First) computation. For non-default SPF computations, e.g., flexible
        algorithms as described in RFC 9350, advertised OSPF links are
        used in the default SPF computation even if this is not intended.
        In order to advertise these links and not use them in the base SPF
        calculation, the metric LSLinkInfinity (0xffff) is used to specify
        that the link is unreachable. If all OSPF routers in an OSPF area support
        this functionality and have advertised the capability via an area-scoped
        OSPF Router-Information LSA, then links advertised with a metric of
        LSLinkInfinity are considered unreachable.
      </t>
      <t>
        MaxReachableLinkMetric (0xfffe) is defined to provide backward compatible
        reachability in specifications that previously specified advertisement
        of MaxLinkMetric (0xffff).
        This document updates RFC 5443, RFC 6987, RFC 8379, and RFC 8770
        with respect to the advertisement of MaxReachableLinkMetric (0xfffe)
        rather than MaxLinkMetric (0xffff).
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="Introduction">
      <name>Introduction</name>
      <t>
        OSPF Router Link State Advertisements (LSAs) use fixed-format encodings
        that always include advertised links in the default SPF (Shortest Path
        First) computation. For example, a link may be required for
        Traffic Engineering (TE) paths but not intended for hop-by-hop
        routing. Another example is an OSPF link used exclusively by a
        Flexible Algorithm <xref target="RFC9350"/> but
        excluded from the default algorithm.
      </t>
      <t>
        In order to advertise these links as unreachable, the metric
        LSLinkInfinity (0xffff) is used to specify
        that the link is unreachable and OSPF routers supporting this
        specification will exclude the link from SPF calculations (subject to
        backward-compatibility, refer to <xref target="Backward_Compatibility"/>).
      </t>
      <t>
        Stub Router Advertisement <xref target="RFC6987"/> defines MaxLinkMetric (0xffff)
        to indicate a router-LSA link should only be used for transit IP
        traffic as a last resort. When an OSPF router supports the Unreachable Link
        capability defined in this document, OSPF Stub Router links are
        advertised as MaxReachableLinkMetric (0xfffe) rather than
        MaxLinkMetric (0xffff).
        This document updates <xref target="RFC6987"/> and <xref target="RFC8770"/>
        with respect to the advertisement of MaxReachableLinkMetric rather than MaxLinkMetric.
      </t>
      <t>
        Similarly, Label Distribution Protocol (LDP) IGP Synchronization
        <xref target="RFC5443"/> specifies OSPF advertisement of MaxLinkMetric (0xffff)
        to indicate that while the OSPF adjacency is in FULL state, LDP has not been
        synchronized between the two neighbors and transit traffic is discouraged. This document
        updates <xref target="RFC5443"/>  with respect to the advertisement of MaxReachableLinkMetric
        rather than MaxLinkMetric.
      </t>
      <t>
        Finally, OSPF Graceful Link Shutdown <xref target="RFC8379"/> specifies OSPF
        advertisement of MaxLinkMetric (0xffff) to indicate that the OSPF link will be taken out
        of service and usage transit traffic is discouraged. This document
        updates <xref target="RFC8379"/>  with respect to the advertisement of
        MaxReachableLinkMetric rather than MaxLinkMetric.
      </t>
      <section anchor="Requirements_Language">
        <name>Requirements Language</name>
        <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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when,
          and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section anchor="Use_Cases">
      <name>Use Cases</name>
      <section anchor="Case_1">
        <name>Case 1: Traffic Engineering</name>
        <t>
          A network topology is shown in Figure 1.  The OSPF link between Node A and E is
          only to be used for traffic engineering. Since the OSPF link is advertised
          by default, it will be included in the base SPF calculation for the default topology
          and may be used for hop-by-hop routing in the default topology.
        </t>
        <artwork align="center" name="Network Topology"><![CDATA[
          TE Link
         ---------
        /         \
       /           \
      A------C------E
      |      |      |
      |      |      |
      |      |      |
      B------D------F

      Figure 1: Network Topology]]>
        </artwork>
      </section>
      <section anchor="Case_2">
        <name>Case 2: Flexible Algorithm</name>
        <t>
          A network topology is shown in Figure 2. The links between nodes A
          and B and between C and D are to be used exclusively for a
          flex-algorithm <xref target="RFC9350"/> devoted to specific traffic.
          These links have an Extended
          Administrative Group (EAG) <xref target="RFC7308"/> attribute specifying
          the "Red" color.
        </t>
        <artwork align="center" name="Network Topology"><![CDATA[
     ******
    A------C------E
    |*     |*     |
    |*     |*     |        ******: "Red" link
    |*     |*     |
    B------D------F
     ******

     Figure 2: Network Topology]]>
        </artwork>
        <t>
          Flex-Algorithm 128 is enabled on Nodes A, B, C, and D, with an EAG
          rule including "Red" and the Metric-Type is designated to be a type
          other than the OSPF metric. OSPF will compute routes for Flex-Algorithm
          128 using these links. The topology associated with Flex-Algorithm 128
          is shown in Figure 3.
        </t>
        <artwork align="center" name="Topology of Flex-Algorithm 128"><![CDATA[
              A******C
              *      *
              *      *
              *      *
              B******D

Figure 3: Topology of Flex-Algorithm 128]]></artwork>
        <t>
          The "Red" links are used by Flex-Algorithm
          128 calculation.  However, these
          "Red" links are also included in the default algorithm
          calculation <xref target="RFC9350"/> since they are reachable.
          Note that links used by the default algorithm are omitted from Figure 3
          for clarity.
        </t>
        <t>
          If the OSPF metrics for all the "Red" links are advertised as
          unreachable, they will be excluded from the default SPF calculation
          as shown in Figure 4. This allows the "Red" links from A to B and C to D
          to be used exclusively by the Flex-Algorithm 128 calculation.
        </t>
        <artwork align="center" name="Base SPF Topology Excluding Unreachable Links"><![CDATA[
                  A------C------E
                                |
                                |
                                |
                  B------D------F

  Figure 4: Base SPF Topology Excluding Unreachable Links]]>
        </artwork>
      </section>
    </section>
    <section anchor="Solution_based_on_LSLinkInfinity">
      <name>LSLinkInfinity-Based Solution</name>
    <section anchor="Unreachable_link">
      <name>Unreachable Link Advertisement</name>
      <t>
        This document specifies that if the OSPF metric of a link is
        advertised as LSLinkInfinity (0xffff), it MUST NOT be considered
        during the associated SPF computation. This applies to both the
        Flex-Algorithm SPF <xref target="RFC9350"/>  and the base SPF as long as LSLinkInfinity is
        specified for the OSPF metric.
      </t>
      <t>
        While the interpretation of LSLinkInfinity is only required in the base
        topology as other topologies are optional <xref target="RFC4915"/>,
        OSPF routers supporting this specification MUST consistently interpret
        LSLinkInfinity as unreachable during the associated SPF computation.
        Interpretation of LSLinkInfinity as unreachable is also applicable to
        Flex-Algorithm SPF computations <xref target="RFC9350"/> which use
        the OSPF link metric.
      </t>
      <t>
        An OSPF metric with LSLinkInfinity indicating a link is unreachable is
        applicable to the following TLVs/LSAs:
      </t>
      <ul spacing="normal">
        <li>
          <t>
            The Router-LSA <xref target="RFC2328"/> <xref target="RFC5340"/>
          </t>
        </li>
        <li>
          <t>
            The Router-Link TLV of OSPFv3 E-Router-LSA <xref target="RFC8362"/>
          </t>
        </li>
      </ul>
      </section>
      <section anchor="Backward_Compatibility">
        <name>Unreachable Link Backward Compatibility</name>
        <t>
          Prior to this specification, OSPF treated links with an advertised metric of
          LSLinkInfinity as reachable <xref target="RFC2328"/>. Hence, partial deployment of
          this specification may result in routing loops due to inconsistent
          interpretation of LSLinkInfinity. For example, in the network shown
          in Figure 5, link D-F is advertised with
          LSLinkInfinity (65535/0xffff). Router B supports
          LSLinkInfinity as unreachable, but router A doesn't.
          Router A considers link D-F as
          reachable, and the shortest path to F is A-&gt;B-&gt;D-&gt;F. Router B
          considers link D-F as unreachable, and the shortest path to F is
          B-&gt;A-&gt;C-&gt;E-&gt;F. As a result, A forwards the packets to B, but B
          returns them to A, which results in a routing loop.
        </t>
        <artwork align="center" name="Inconsistent LSLinkInfinity Interpretation Causing Loops"><![CDATA[
      40000  40000      Traffic: A->F
    A------C------E       A considers link D-F as reachable
    |             |         A's shortest path: A->B->D->F
   5|             |5      B considers link D-F as unreachable
    |             |         B's shortest path: B->A->C->E->F
    B------D------F
        5    65535

 Figure 5: Inconsistent LSLinkInfinity Interpretation Causing Loops]]>
        </artwork>
        <t>
          To provide backward compatibility, this document specifies that
          routers supporting LSLinkInfinity for unreachable links
          support advertisement of an area-scoped Router Information (RI) LSA with a Router
          Functional Capabilities TLV <xref target="RFC7770"/> including the following
          Router Functional Capability Bit. The value of the bit is controlled by
          configuration as specified in <xref target="Config"/>.
        </t>
        <table align="center">
          <thead>
            <tr>
              <th>Bit</th>
              <th>Capabilities</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>TBD</td>
              <td>Unreachable Link support</td>
            </tr>
          </tbody>
        </table>
        <t>
          OSPF Routers MUST NOT treat links with an advertised metric of
          LSLinkInfinity as unreachable unless all routers in the OSPF area,
          i.e., all routers with Router-LSAs in the area Link State Database (LSDB),
          have advertised this capability in an OSPFv2 Router Information Opaque LSA
          or an OSPFv3 Router Information LSA.
          If all OSPF Routers in the area have advertised this capability,
          then links with an advertised metric of LSLinkInfinity MUST
          be treated as unreachable. When the number of routers in the area
          not supporting the Unreachable Link Capability changes to 0 or
          from 0 to greater than 0, all OSPF routers in the area MUST
          recalculate their routes.
        </t>
        <t>
          In normal operation, it is possible that an area-scoped OSPF RI LSA will fail to reach
          all routers in an area in a timely manner. For example, if a new router not supporting the
          the Unreachable Link Capability joins an area that previously only had OSPF routers
          advertising support of the Unreachable Link Capability, then it may take some time for
          the OSPF RI LSA to propagate to all routers. While it is propagating, the routers in the
          area will gradually detect the presence of a router that does not support the capability
          and will revert to treating links with MaxLinkMetric as being reachable.
          During the propagation time, this inconsistency of MaxLinkMetric interpretation between
          OSPF routers can result in transient routing loops.
        </t>
      </section>
      <section anchor="Stub_Router_Advertisement_Backward_Compatibility">
        <name>Stub Router Advertisement Backward Compatibility</name>
        <t>
          Stub Router Advertisement <xref target="RFC6987"/> defines MaxLinkMetric (0xffff)
          to indicate a router-LSA link should not be used for transit
          traffic.
        </t>
        <t>
          When an OSPF router
          supports the Unreachable Link capability defined in this
          document, the OSPF stub router MaxLinkMetric (0xffff) MUST be
          updated to MaxReachableLinkMetric (0xfffe).
          This document updates <xref target="RFC6987"/> and <xref target="RFC8770"/>
          with respect to the advertisement of MaxReachableLinkMetric rather than
          MaxLinkMetric.
        </t>
        <t>
          When an OSPF router supports <xref target="RFC6987"/> and the Unreachable Link
          capability defined in this document, it MUST support
          advertisement all its non-stub links with a link cost of MaxReachableLinkMetric (0xfffe).
          Since MaxLinkMetric will not be used to indicate a link is unreachable unless all OSPF
          routers in the area support this specification as specified in
          <xref target="Backward_Compatibility"/>, all routers in the area will
          also support the usage of MaxReachableLinkMetric to discourage the usage of stub router
          links for transit traffic. If there are any OSPF routers in the area that do not support
          the Unreachable Link capability, then all OSPF routers in the area will
          treat links advertised with a cost MaxLinkMetric as reachable
          (<xref target="Backward_Compatibility"/>).
        </t>
      </section>
      <section anchor="LDP_IGP_SYNC_Backward_Compatibility">
        <name>Label Distribution Protocol (LDP) IGP Synchronization Backward Compatibility</name>
        <t>
          LDP IGP Synchronization <xref target="RFC5443"/> specifies OSPF advertisement
          of MaxLinkMetric (0xffff) to indicate that while the OSPF adjacency is in FULL state,
          LDP has not been synchronized between the two neighbors and transit IP traffic
          is discouraged.
          When an OSPF router supports the Unreachable Link capability
          defined in this document, the usage of OSPF MaxLinkMetric (0xffff) to discourage
          usage of the link until LDP is "fully operational" MUST be updated to
          MaxReachableLinkMetric (0xfffe). It is important to keep the link in the topology to
          allow IP traffic to use the link as a last resort in case of LDP packets between
          OSPF router loopbacks addresses or a network failure.
          This document updates <xref target="RFC5443"/>
          with respect to the advertisement of MaxReachableLinkMetric rather than
          MaxLinkMetric.
        </t>
      </section>
      <section anchor="OSPF_Graceful_Link_Shutdown_Backward_Compatibility">
        <name>OSPF Graceful Link Shutdown Backward Compatibility</name>
        <t>
          OSPF Graceful Link <xref target="RFC8379"/> specifies OSPF advertisement
          of MaxLinkMetric (0xffff) to indicate that the link is going to be taken down
          and transit traffic is discouraged.
          When an OSPF router supports the Unreachable Link capability
          defined in this document, the usage of OSPF MaxLinkMetric (0xffff) to discourage
          usage of a link prior to it being taken out of service MUST be updated to
          MaxReachableLinkMetric (0xfffe). It is important to keep the link in the topology to
          allow IP traffic to use the link as a last resort prior to planned shutdown.
          This document updates <xref target="RFC8379"/>
          with respect to the advertisement of MaxReachableLinkMetric rather than
          MaxLinkMetric.
        </t>
      </section>
    </section>
    <section anchor="Operational_Considerations">
      <name>Operational Considerations</name>
      <section anchor="Config" title="Configuration Parameters">
        <t>
          Support of the Unreachable Link capability MUST be
          configurable. The default MUST be to not advertise the
          capability, i.e., the functional capability in the area-scoped
          OSPF Router Information LSA is false.
        </t>
        <t>
          In some networks, the operator may still want links with maximum
          metric (0xffff) to be treated as reachable. For example, when the cost
          of links is automatically computed based on the inverse of the link's
          bandwidth and there is a mix of low-speed and high-speed links, the
          computation may result in the maximum metric. Hence, implementations
          supporting this document and auto-costing MUST limit the maximum computed
          cost to MaxReachableLinkMetric (0xfffe). An example of auto-costing would be
          to automatically set the link metric to be inversely proportional
          to the link bandwidth (refer to the auto-cost feature in the
          ietf-ospf.yang <xref target="RFC9129"/>).
        </t>
      </section>
      <section title="YANG Data Model">
      <t>
          This section defines three YANG <xref target="RFC7950"/> modules.
          Module iana-ospf-functional-cap-bits defines
          the identities for OSPF Functional Capabilities as per the "OSPF Router Functional Capability Bits"
          IANA registry <xref target="IANA-OSPF-FC-Bits" format="default" sectionFormat="of" derivedContent="IANA-OSPF-FC-Bits"/>.
          Module ietf-ospf-functional-capability and module ietf-ospf-unreachable-links
          can be used to configure and manage the usage of OSPF LSLinkInfinity for
          unreachable links as defined in this document,
          which augments the OSPF YANG data model <xref target="RFC9129"/>
          and the YANG Data Model for Routing Management <xref target="RFC8349"/>.
        </t>
        <t>This document uses the graphical representation of data model per <xref target="RFC8340"/>.</t>
        <section title="Tree for OSPF Functional Capability">
          <t>The following shows the tree diagram of the module for OSPF Functional Capability:</t>
          <artwork align="left" name="" type="" alt=""><![CDATA[
module: ietf-ospf-functional-capability
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/ospf:ospf/ospf:areas
            /ospf:area/ospf:interfaces/ospf:interface
            /ospf:database/ospf:link-scope-lsa-type
            /ospf:link-scope-lsas/ospf:link-scope-lsa/ospf:version
            /ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:opaque
            /ospf:ri-opaque/ospf:router-capabilities-tlv:
    +--ro router-functional-capabilities
       +--ro functional-capability*   identityref
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/ospf:ospf/ospf:areas
            /ospf:area/ospf:database/ospf:area-scope-lsa-type
            /ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version
            /ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:opaque
            /ospf:ri-opaque/ospf:router-capabilities-tlv:
    +--ro router-functional-capabilities
       +--ro functional-capability*   identityref
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/ospf:ospf/ospf:database
            /ospf:as-scope-lsa-type/ospf:as-scope-lsas
            /ospf:as-scope-lsa/ospf:version/ospf:ospfv2
            /ospf:ospfv2/ospf:body/ospf:opaque/ospf:ri-opaque
            /ospf:router-capabilities-tlv:
    +--ro router-functional-capabilities
       +--ro functional-capability*   identityref
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/ospf:ospf/ospf:areas
            /ospf:area/ospf:interfaces/ospf:interface
            /ospf:database/ospf:link-scope-lsa-type
            /ospf:link-scope-lsas/ospf:link-scope-lsa/ospf:version
            /ospf:ospfv3/ospf:ospfv3/ospf:body
            /ospf:router-information/ospf:router-capabilities-tlv:
    +--ro router-functional-capabilities
       +--ro functional-capability*   identityref
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/ospf:ospf/ospf:database
            /ospf:as-scope-lsa-type/ospf:as-scope-lsas
            /ospf:as-scope-lsa/ospf:version/ospf:ospfv3
            /ospf:ospfv3/ospf:body/ospf:router-information
            /ospf:router-capabilities-tlv:
    +--ro router-functional-capabilities
       +--ro functional-capability*   identityref
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/ospf:ospf/ospf:areas
            /ospf:area/ospf:database/ospf:area-scope-lsa-type
            /ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version
            /ospf:ospfv3/ospf:ospfv3/ospf:body
            /ospf:router-information/ospf:router-capabilities-tlv:
    +--ro router-functional-capabilities
       +--ro functional-capability*   identityref
          ]]></artwork>
        </section>
        <section title="Tree for OSPF Advertising Unreachable Links">
          <t>The following shows the tree diagram of the module for OSPF Advertising Unreachable Links:</t>
          <artwork align="left" name="" type="" alt=""><![CDATA[
module: ietf-ospf-unreachable-links

  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/ospf:ospf/ospf:areas
            /ospf:area:
    +--rw unreachable-link-advertisement
       +--rw enabled?   boolean
  augment /rt:routing/rt:control-plane-protocols
            /rt:control-plane-protocol/ospf:ospf/ospf:areas
            /ospf:area/ospf:interfaces/ospf:interface:
    +--rw advertise-unreachable-link?   boolean
          ]]></artwork>
        </section>
        <section title="IANA Module for OSPF Functional Capability Bits">
          <t>
            IANA has created a registry titled "OSPF Router Functional Capability Bits"
            under the "Open Shortest Path First (OSPF) Parameters" registry group to
            identify OSPF Router Functional Capabilities. Module iana-ospf-functional-cap-bits
            is an IANA-maintained module, which defines the identities for the OSPF Functional Capabilities
            as in the IANA "OSPF Router Functional Capability Bits" registry.
          </t>
          <t>
            This module is maintained by IANA and will be updated if and when there is any change to the registry.
          </t>
          <t>
            This document defines the initial version of the IANA-maintained YANG
            module for OSPF Router Functional Capabilities that mirrors the IANA
            "OSPF Router Functional Capability Bits" registry
            <xref target="IANA-OSPF-FC-Bits" format="default" sectionFormat="of"
                  derivedContent="IANA-OSPF-FC-Bits"/>.
            The latest version of this YANG module is available at TBD.
          </t>
          <t>
            Note to the RFC Editor: Please remove this module in the version to be
            published as RFC.
          </t>
          <t>
            This document defines the initial version of the IANA-maintained YANG
            module for OSPF Router Functional Capabilities that mirrors
            the IANA "OSPF Router Functional Capability Bits"
            registry <xref target="IANA-OSPF-FC-Bits" format="default" sectionFormat="of"
            derivedContent="IANA-OSPF-FC-Bits"/>.
          </t>
           <sourcecode name="iana-ospf-functional-cap-bits@2026-01-28.yang" type="" markers="true"><![CDATA[
module iana-ospf-functional-cap-bits {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:"
          + "iana-ospf-functional-cap-bits";
  prefix iana-ospf-fc-bits;

  organization
    "Internet Assigned Numbers Authority (IANA)";
  contact
    "Internet Assigned Numbers Authority

     ICANN
     12025 Waterfront Drive, Suite 300
     Los Angeles, CA 90094-2536
     United States of America

     Tel:    +1 310 301 5800
     <mailto:iana@iana.org>";
  description
    "This YANG module defines the identities for OSPF Router
     Functional Capabilities.

     This YANG module is maintained by IANA and reflects the 'OSPF
     Router Functional Capability Bits' registry.

     Copyright (c) 2026 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

     This initial version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     The latest version of this YANG module is available at
     https://www.iana.org/assignments/yang-parameters.";

  revision 2026-01-28 {
    description
      "Initial version";
    reference
      "RFC XXXX: Advertising Unreachable Links in OSPF";
  }

  identity functional-capability {
    description
      "Base identity for OSPF Router Functional Capabilities. The
       functional capabilities are defined in IANA OSPF Router
       Functional Capability Bits registry.";
  }

  identity unreachable-link {
    base functional-capability;
    description
      "Indicates that the OSPF router is capable of advertising
       unreachable links.";
    reference
      "RFC XXXX: Advertising Unreachable Links in OSPF";
  }
}
        ]]></sourcecode>
        </section>
        <section title="YANG Module for OSPF Functional Capability">
          <t>The following is the YANG module for OSPF Functional Capability:</t>
          <sourcecode name="ietf-ospf-functional-capability@2026-01-28.yang" type="" markers="true"><![CDATA[
module ietf-ospf-functional-capability {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:"
          + "ietf-ospf-functional-capability";
  prefix ospf-fc;

  import ietf-routing {
    prefix rt;
    reference
      "RFC 8349: A YANG Data Model for Routing Management
                 (NMDA Version)";
  }
  import ietf-ospf {
    prefix ospf;
    reference
      "RFC 9129: YANG Data Model for the OSPF Protocol";
  }
  import iana-ospf-functional-cap-bits {
    prefix iana-ospf-fc-bits;
    reference
      "RFC XXXX: Advertising Unreachable Links in OSPF";
  }

  organization
    "IETF Link State Routing (LSR) Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/lsr/>
     WG List:  <mailto:lsr@ietf.org>

     Author:   Yingzhen Qu
               <mailto:yqu@futurewei.com>
     Author:   Acee Lindem
               <mailto:acee.ietf@gmail.com>
     Author:   Liyan Gong
               <mailto:gongliyan@chinamobile.com>
     Author:   Weiqiang Cheng
               <mailto:chengweiqiang@chinamobile.com>
     Author:   Changwang Lin
               <mailto:linchangwang.04414@h3c.com>
     Author:   Ran Chen
               <mailto:chen.ran@zte.com.cn>";
  description
    "This YANG module defines the operational state for
     Functional Capability in OSPF as defined in RFC 7770.

     Copyright (c) 2026 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.
     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

  revision 2026-01-28 {
    description
      "Initial version";
    reference
      "RFC XXXX: Advertising Unreachable Links in OSPF";
  }

  grouping router-functional-capabilities {
    description
      "Grouping for OSPF router capabilities TLV types.";
    reference
      "RFC 7770: Extensions to OSPF for Advertising Optional
                 Router Capabilities";
    container router-functional-capabilities {
      leaf-list functional-capability {
        type identityref {
          base iana-ospf-fc-bits:functional-capability;
        }
        description
          "List of functional capabilities. This list
           contains the identities for the functional
           capabilities supported by the router.";
      }
      description
        "OSPF Router Functional identity definitions.";
    }
  }

  augment "/rt:routing/"
        + "rt:control-plane-protocols/rt:control-plane-protocol/"
        + "ospf:ospf/ospf:areas/ospf:area/"
        + "ospf:interfaces/ospf:interface/ospf:database/"
        + "ospf:link-scope-lsa-type/ospf:link-scope-lsas/"
        + "ospf:link-scope-lsa/ospf:version/ospf:ospfv2/"
        + "ospf:ospfv2/ospf:body/ospf:opaque/ospf:ri-opaque/"
        + "ospf:router-capabilities-tlv" {
    when "derived-from-or-self(/rt:routing/"
       + "rt:control-plane-protocols/"
       + "rt:control-plane-protocol/rt:type, 'ospf:ospfv2')" {
      description
        "This augmentation is only valid for OSPFv2.";
    }
    description
      "OSPFv2 Opaque Link-Scoped Router-Information LSA Router
       Functional capabilities.";
    uses router-functional-capabilities;
    reference
      "RFC 7770: Extensions to OSPF for Advertising Optional
                 Router Capabilities";
  }

  augment "/rt:routing/"
        + "rt:control-plane-protocols/rt:control-plane-protocol/"
        + "ospf:ospf/ospf:areas/"
        + "ospf:area/ospf:database/"
        + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/"
        + "ospf:area-scope-lsa/ospf:version/ospf:ospfv2/"
        + "ospf:ospfv2/ospf:body/ospf:opaque/"
        + "ospf:ri-opaque/ospf:router-capabilities-tlv" {
    when "derived-from-or-self(/rt:routing/"
       + "rt:control-plane-protocols/"
       + "rt:control-plane-protocol/rt:type, 'ospf:ospfv2')" {
      description
        "This augmentation is only valid for OSPFv2.";
    }
    description
      "OSPFv2 Opaque Area-Scoped Router-Information LSA Router
       Functional capabilities.";
    uses router-functional-capabilities;
    reference
      "RFC 7770: Extensions to OSPF for Advertising Optional
                 Router Capabilities";
  }

  augment "/rt:routing/"
        + "rt:control-plane-protocols/rt:control-plane-protocol/"
        + "ospf:ospf/ospf:database/"
        + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/"
        + "ospf:as-scope-lsa/ospf:version/ospf:ospfv2/"
        + "ospf:ospfv2/ospf:body/ospf:opaque/"
        + "ospf:ri-opaque/ospf:router-capabilities-tlv" {
    when "derived-from-or-self(/rt:routing/"
       + "rt:control-plane-protocols/"
       + "rt:control-plane-protocol/rt:type, 'ospf:ospfv2')" {
      description
        "This augmentation is only valid for OSPFv2.";
    }
    description
      "OSPFv2 Opaque AS-Scoped Router-Information LSA Router
       Functional capabilities.";
    uses router-functional-capabilities;
    reference
      "RFC 7770: Extensions to OSPF for Advertising Optional
                 Router Capabilities";
  }

  augment "/rt:routing/"
        + "rt:control-plane-protocols/rt:control-plane-protocol/"
        + "ospf:ospf/ospf:areas/ospf:area/"
        + "ospf:interfaces/ospf:interface/ospf:database/"
        + "ospf:link-scope-lsa-type/ospf:link-scope-lsas/"
        + "ospf:link-scope-lsa/ospf:version/ospf:ospfv3/"
        + "ospf:ospfv3/ospf:body/ospf:router-information/"
        + "ospf:router-capabilities-tlv" {
    when "derived-from-or-self(/rt:routing/"
       + "rt:control-plane-protocols/"
       + "rt:control-plane-protocol/rt:type, 'ospf:ospfv3')" {
      description
        "This augmentation is only valid for OSPFv3.";
    }
    description
      "OSPFv3 Link-Scoped Router-Information LSA Router
       Functional capabilities.";
    uses router-functional-capabilities;
    reference
      "RFC 7770: Extensions to OSPF for Advertising Optional
                 Router Capabilities";
  }

  augment "/rt:routing/"
        + "rt:control-plane-protocols/rt:control-plane-protocol/"
        + "ospf:ospf/ospf:database/"
        + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/"
        + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/"
        + "ospf:ospfv3/ospf:body/ospf:router-information/"
        + "ospf:router-capabilities-tlv" {
    when "derived-from-or-self(/rt:routing/"
       + "rt:control-plane-protocols/"
       + "rt:control-plane-protocol/rt:type, 'ospf:ospfv3')" {
      description
        "This augmentation is only valid for OSPFv3.";
    }
    description
      "OSPFv3 Area-Scoped Router-Information LSA Router
       Functional capabilities.";
    uses router-functional-capabilities;
    reference
      "RFC 7770: Extensions to OSPF for Advertising Optional
                 Router Capabilities";
  }

  augment "/rt:routing/"
        + "rt:control-plane-protocols/rt:control-plane-protocol/"
        + "ospf:ospf/ospf:areas/"
        + "ospf:area/ospf:database/"
        + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/"
        + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/"
        + "ospf:ospfv3/ospf:body/ospf:router-information/"
        + "ospf:router-capabilities-tlv" {
    when "derived-from-or-self(/rt:routing/"
       + "rt:control-plane-protocols/"
       + "rt:control-plane-protocol/rt:type, 'ospf:ospfv3')" {
      description
        "This augmentation is only valid for OSPFv3.";
    }
    description
      "OSPFv3 AS-Scoped Router-Information LSA Router
       Functional capabilities.";
    uses router-functional-capabilities;
    reference
      "RFC 7770: Extensions to OSPF for Advertising Optional
                 Router Capabilities";
  }
}

          ]]></sourcecode>
        </section>
        <section title="YANG Module for OSPF Advertising Unreachable Links">
          <t>The following is the YANG module for OSPF Advertising Unreachable Links:</t>
          <sourcecode name="ietf-ospf-unreachable-links@2026-03-10.yang" type="" markers="true"><![CDATA[
module ietf-ospf-unreachable-links {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:"
          + "ietf-ospf-unreachable-links";
  prefix ospf-unreach-link;

  import ietf-routing {
    prefix rt;
    reference
      "RFC 8349: A YANG Data Model for Routing Management
                 (NMDA Version)";
  }
  import ietf-ospf {
    prefix ospf;
    reference
      "RFC 9129: YANG Data Model for the OSPF Protocol";
  }

  organization
    "IETF Link State Routing (LSR) Working Group";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/lsr/>
     WG List:  <mailto:lsr@ietf.org>

     Author:   Yingzhen Qu
               <mailto:yqu@futurewei.com>
     Author:   Acee Lindem
               <mailto:acee.ietf@gmail.com>
     Author:   Liyan Gong
               <mailto:gongliyan@chinamobile.com>
     Author:   Weiqiang Cheng
               <mailto:chengweiqiang@chinamobile.com>
     Author:   Changwang Lin
               <mailto:linchangwang.04414@h3c.com>
     Author:   Ran Chen
               <mailto:chen.ran@zte.com.cn>";
  description
    "This YANG module defines the configuration and operational
     state for Advertising Unreachable Links in OSPF as defined
     in RFC XXXX.

     Copyright (c) 2026 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     All revisions of IETF and IANA published modules can be found
     at the YANG Parameters registry group
     (https://www.iana.org/assignments/yang-parameters).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

  revision 2026-03-10 {
    description
      "Initial version";
    reference
      "RFC XXXX: Advertising Unreachable Links in OSPF";
  }

  augment "/rt:routing/rt:control-plane-protocols/"
        + "rt:control-plane-protocol/ospf:ospf/"
        + "ospf:areas/ospf:area" {
    when "derived-from-or-self(../../../rt:type, 'ospf:ospfv2') or "
       + "derived-from-or-self(../../../rt:type, 'ospf:ospfv3')" {
      description
        "This augments the OSPF routing protocol when used.";
    }
    description
      "This augments OSPF protocol with unreachable link
       advertisement.";
    container unreachable-link-advertisement {
      leaf enabled {
        type boolean;
        default "false";
        description
          "Controls the interpretation of MaxLinkMetrc as
           unreachable and the advertisement of the unreachable
           link capability for the area. It is enabled when set
           to true and disabled when set to false.";
      }
      description
        "OSPF unreachable link advertisement parameters.";
    }
  }

  augment "/rt:routing/rt:control-plane-protocols/"
        + "rt:control-plane-protocol/ospf:ospf/"
        + "ospf:areas/ospf:area/ospf:interfaces/ospf:interface" {
    when "derived-from(/rt:routing/rt:control-plane-protocols/"
       + "rt:control-plane-protocol/rt:type, 'ospf:ospfv2') or "
       + "derived-from(/rt:routing/rt:control-plane-protocols/"
       + "rt:control-plane-protocol/rt:type, 'ospf:ospfv3')" {
      description
        "This augments the OSPF interfaces.";
    }
    leaf advertise-unreachable-link {
      type boolean;
      must "not(../advertise-unreachable-link = 'true' and "
         + "/rt:routing/rt:control-plane-protocols/"
         + "rt:control-plane-protocol/ospf:ospf/ospf:areas/"
         + "ospf:area/"
         + "ospf-unreach-link:unreachable-link-advertisement/"
         + "ospf-unreach-link:enabled = 'false')" {
        error-message "The interface cannot be advertised "
                    + "as unreachable (true) unless the "
                    + "unreachable-link-advertisement capability is "
                    + "enabled (true).";
        description
          "Ensures an interface isn't explicitly advertised as
           unreachable unless the OSPF instance level capability is
           enabled.";
      }
      default "false";
      description
        "Specifies that the link should be advertise with a metric
         of MaxLinkMetric (0xFFFF) in the default topology.";
    }
    description
      "Augment OSPF interfaces with anoption to advertise the link
       as unreachable.";
  }
}
          ]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="Security_Considerations">
      <name>Security Considerations</name>
      <t>
        A compromised OSPF router could advertise changes to its Unreachable Link
        capability rapidly resulting in repeated route recalculations
        on routers in the area supporting this specification
        (<xref target="Backward_Compatibility"/>).
        Hence, it is RECOMMENDED that routers supporting this specification also
        support the SPF back-off delay algorithm described in <xref target="RFC8405"/>.
      </t>
      <t>
        The security considerations for <xref target="RFC2328"/>, <xref target="RFC5340"/>,
        <xref target="RFC6987"/>, and <xref target="RFC7770"/> are also applicable to this
        protocol extension.
      </t>
      <t>
        The ietf-ospf-unreachable-links YANG module and the ietf-ospf-functional-capability YANG module
        each define a data model that is designed to be accessed via YANG-based management protocols, such as
        NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>. These
        YANG-based management protocols (1) have to use a secure transport layer
        (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="I-D.ietf-tls-rfc8446bis"/>, and
        QUIC <xref target="RFC9000"/>) and (2) have to use mutual authentication.
      </t>
      <t>
        The NETCONF Access Control Model (NACM) <xref target="RFC8341"/> provides the
        means to restrict access for particular NETCONF or RESTCONF users to a
        pre-configured subset of all available NETCONF or RESTCONF protocol
        operations and content.
      </t>
      <t>
        There are a number of data nodes defined in the ietf-ospf-unreachable-links
        YANG module that are  writable/creatable/deletable (i.e., "config true",
        which is the default).  All writable data nodes are likely to be sensitive or
        vulnerable in some network environments.  Write
        operations (e.g., edit-config) and delete operations to these data
        nodes without proper protection or authentication can have a negative
        effect on network operations.
        The modification of these data nodes without proper protection can
        prevent interpretation of the OSPF LSLinkInfinity metric as unreachable
        or result in a link being advertised as unreachable.
      </t>
      <ul empty="true" spacing="normal">
        <li>/ospf:ospf/ospf:areas/ospf:area/ospf-unreach-link:unreachable-link-advertisement/ospf-unreach-link:enabled</li>
        <li>/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf-unreach-link:advertise-unreachable-link</li>
      </ul>
      <t>
        Some of the readable data nodes in the ietf-ospf-unreachable-links YANG module may be considered
        sensitive or vulnerable in some network environments. Exposure of the
        OSPF unreachable link configuration may be useful in mounting a Denial-of-Service (DoS)
        attacks. These are the readable data nodes:
      </t>
      <ul empty="true" spacing="normal">
        <li>/ospf:ospf/ospf:areas/ospf:area/ospf-unreach-link:unreachable-link-advertisement/ospf-unreach-link:enabled</li>
        <li>/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf-unreach-link:advertise-unreachable-link</li>
      </ul>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
        <section title="Registering OSPF Router Functional Capability Bits">
          <t>
            This document defines a new bit in the registry "OSPF Router
            Functional Capability Bits"
            (https://www.iana.org/assignments/ospf-parameters/ospf-parameters.xhtml#router-functional-capability):
          </t>
          <table align="center">
            <thead>
              <tr>
                <th>Bit Number</th>
                <th>Capability Name</th>
                <th>Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>TBD</td>
                <td>Unreachable Link</td>
                <td>This document</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section title="Registering YANG Modules">
          <t>The IANA is requested to assign three new URIs from the IETF XML
              registry (<xref target="RFC3688" format="default"/>). Authors are suggesting the
              following URIs:</t>
              <artwork align="left" name="" type="" alt=""><![CDATA[
URI: urn:ietf:params:xml:ns:yang:iana-ospf-functional-cap-bits
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace

URI: urn:ietf:params:xml:ns:yang:ietf-ospf-functional-capability
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace

URI: urn:ietf:params:xml:ns:yang:ietf-ospf-unreachable-links
Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace
]]></artwork>
        <t> This document also requests three new YANG module names in the
        YANG Module Names registry (<xref target="RFC6020" format="default"/>) with the following
        suggestion :</t>
        <artwork align="left" name="" type="" alt=""><![CDATA[
Name: iana-ospf-functional-cap-bits
Maintained by IANA?  Y
Namespace: urn:ietf:params:xml:ns:yang:iana-ospf-functional-cap-bits
Prefix: iana-ospf-fc-bits
Reference: RFC XXXX

Name: ietf-ospf-functional-capability
Maintained by IANA?  N
Namespace: urn:ietf:params:xml:ns:yang:
           ietf-ospf-functional-capability
Prefix: ospf-fc
Reference: RFC XXXX

Name: ietf-ospf-unreachable-links
Maintained by IANA?  N
Namespace: urn:ietf:params:xml:ns:yang:ietf-ospf-unreachable-links
Prefix: ospf-unreach-link
Reference: RFC XXXX
]]></artwork>
        </section>
        <section title="IANA Module for OSPF Functional Capability Bits">
          <t>This document defines the initial version of the IANA-maintained
             "iana-ospf-functional-cap-bits" YANG module (Section 4.2).
              The most recent version of the YANG module is available from
              the "YANG Parameters" registry <xref target="IANA-YANG-Parameters" format="default" sectionFormat="of" derivedContent="IANA-YANG-Parameters"/>.</t>
          <t>IANA is requested to add this note to the registry:</t>
          <blockquote>
            <t>New values must not be directly added to the "iana-ospf-functional-cap-bits" YANG module. They must instead be added to the "OSPF Router Functional Capability Bits" registry in the "Open Shortest Path First (OSPF) Parameters" registry group <xref target="IANA-OSPF-FC-Bits" format="default" sectionFormat="of" derivedContent="IANA-OSPF-FC-Bits"/>.</t>
          </blockquote>
          <t>When a value is added to the "OSPF Router Functional Capability Bits" registry, a new
             "identity" statement needs to be added to the "iana-ospf-functional-cap-bits" YANG
             module.  The name of the "identity" is the lower-case name provided in the registry
             with all spaces replaced  with “-“. The "identity" statement should have the following
             sub-statements defined:</t>
            <artwork>
  "base":          Contains 'functional-capability'.

  "description":   Contains the non-abbreviated OSPF capability bit
                   name from the registry.

  "reference":     Replicates the reference(s) from the registry with
                   the title of the document(s) added.
            </artwork>
            <t>IANA is requested to add this note to
            <xref target="IANA-OSPF-FC-Bits" format="default" sectionFormat="of"
                  derivedContent="IANA-OSPF-FC-Bits"/>:</t>
            <blockquote>
              <t>When this registry is modified, the YANG module "iana-ospf-functional-cap-bits"
                 must be updated as defined in RFC XXXX.</t>
            </blockquote>
        </section>
    </section>
    <section>
      <name>Contributors</name>
      <t>The following individuals have contributed to this document:</t>
      <ul empty="true" spacing="normal">
        <li>
          <t>Mengxiao Chen<br/>
          New H3C Technologies<br/>
          China<br/>
          Email: chen.mengxiao@h3c.com
        </t>
      </li>
      <li>
        <t>Yanrong Liang<br/>
        Ruijie Networks Co., Ltd.<br/>
        China<br/>
        Email: liangyanrong@ruijie.com.cn
      </t>
    </li>
  </ul>
</section>
<section title="Acknowledgments">
  <t>Thanks to Yingzhen Qu for providing the YANG model.</t>
  <t>Thanks to Dhruv Dhody for OPS Directorate review and comments.</t>
  <t>Thanks to Gunter van de Velde for review and comments.</t>
  <t>Thanks to Mohamed Boucadair for review and comments.</t>
  <t>Thanks to Mike Bishop, Mahesh Jethanadani, and Ketan Taulaulikar for review and comments.</t>
</section>
</middle>
<!--  *****BACK MATTER ***** -->

<back>
  <references title="References">
    <references title="Normative References">
      <reference anchor="IANA-OSPF-FC-Bits" target="https://www.iana.org/assignments/ospf-parameters" quoteTitle="true" derivedAnchor="IANA-OSPF-FC-Bits">
          <front>
            <title>OSPF Router Functional Capability Bits</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
      </reference>
      <reference anchor="IANA-YANG-Parameters" target="https://www.iana.org/assignments/yang-parameters" quoteTitle="true" derivedAnchor="IANA-YANG-Parameters">
          <front>
            <title>YANG Module Names</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
      <?rfc include="reference.RFC.2119.xml"?>
      <?rfc include="reference.RFC.2328.xml"?>
      <?rfc include="reference.RFC.3688.xml"?>
      <?rfc include="reference.RFC.4915.xml"?>
      <?rfc include="reference.RFC.5340.xml"?>
      <?rfc include="reference.RFC.5443.xml"?>
      <?rfc include="reference.RFC.6020.xml"?>
      <?rfc include="reference.RFC.6987.xml"?>
      <?rfc include="reference.RFC.7770.xml"?>
      <?rfc include="reference.RFC.7950.xml"?>
      <?rfc include="reference.RFC.8174.xml"?>
      <?rfc include="reference.RFC.8341.xml"?>
      <?rfc include="reference.RFC.8349.xml"?>
      <?rfc include="reference.RFC.8379.xml"?>
      <?rfc include="reference.RFC.8405.xml"?>
      <?rfc include="reference.RFC.8362.xml"?>
      <?rfc include="reference.RFC.8770.xml"?>
      <?rfc include="reference.RFC.9129.xml"?>
      <?rfc include="reference.RFC.9350.xml"?>
    </references>
    <references title="Informative References">
      <?rfc include="reference.RFC.4252.xml"?>
      <?rfc include="reference.RFC.6241.xml"?>
      <?rfc include="reference.RFC.7308.xml"?>
      <?rfc include="reference.RFC.8040.xml"?>
      <?rfc include="reference.RFC.8340.xml"?>
      <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-rfc8446bis.xml"/>
      <?rfc include="reference.RFC.9000.xml"?>
    </references>
  </references>
</back>
 </rfc>
