<?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-08"
     ipr="trust200902"
     obsoletes=""
     updates="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-08"/>
    <!-- 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="2025"/>
    <!-- Meta-data Declarations -->

    <area>General</area>
    <workgroup>LSR Working Group</workgroup>
    <keyword>LSR Working Group</keyword>
    <keyword>OSPF</keyword>
    <keyword>ls</keyword>
    <abstract>
      <t>
	In certain scenarios, it is necessary to advertise OSPF links that
        are not applicable to the default SPF calculation for other
        purposes.
        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.
      </t>
      <t>
        Stub Router Advertisement (RFC 6987) defines MaxLinkMetric (0xffff)
        to indicate a router-LSA link should not be used for transit
        traffic. When an OSPFv2 router supports the Unreachable Link support
        capability defined in this document, OSPFv2 Stub Router links are 
        advertised as MaxReachableLinkMetric (0xfffe) rather than
        MaxLinkMetric (0xffff). This document updates RFC 6987 and RFC 8770.
      </t>
    </abstract>
  </front>
  <middle>
    <section anchor="Introduction">
      <name>Introduction</name>
      <t>
	In certain scenarios, it is necessary to advertise OSPF links that
        are not applicable to the default SPF calculation for other
        purposes. For example, a link may be available for
        Traffic Engineering (TE) purposes but not suitable for hop-by-hop
        routing. Another example is an OSPF link with dedicated resources
        for a network slice included in a Flexible Algorithm <xref target="RFC9350"/>
        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 constraints, refer to <xref target="Backward_Compatibility"/>).
      </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 include 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 IGP 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 that 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 IGP 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>LSInfinity-Based Solution</name>
    <section anchor="Unreachable_link">
      <name>Unreachable Link Advertisement</name>
      <t>
        This document specifies that if the IGP metric of a link is
        advertised as LSLinkInfinity (0xffff), it MUST NOT be considered
        during the related SPF computation. This applies to both the Flex-
        Algorithm SPF and the base SPF as long as LSLinkInfinity is
        specified for the IGP metric.
      </t>
      <t>
        While the interpretaion of LSLinkInfinity is only required in the base
        topology as other topologies are optional, OSPF routers supporting this
        specification MUST consistently interpret LSLinkInfinity as unreachable
        during the associated SPF computation. This applies to both the Flex-
        Algorithm SPF and the base SPF as long as LSLinkInfinity is
        specified for the IGP metric.
      </t>
      <t>
        An IGP metic 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 OSPFv2 Extended Link TLV of OSPFv2 Extended Link Opaque LSA
            <xref target="RFC7684"/>
          </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 advertised as
          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 defines that
          routers supporting LSLinkInfinity for unreachable links MUST
          advertise a Router Information (RI) LSA with a Router
          Functional Capabilities TLV <xref target="RFC7770"/> including the following
          Router Functional Capability Bit:
        </t>
        <table align="center">
          <thead>
            <tr>
              <th>Bit</th>
              <th>Capabilities</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>TBA</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
          have advertised this capability. If all OSPF Routers in the area
          have advertised this capability, then links with an advertised
          metric of LSLinkInfinity MUST be treated as unreachable. Upon
          detection of a change in the number of routers in the area not
          supporting the Unreachable Link support capability changes to 0 or
          from 0 to greater than 0, all OSPF routers in the area MUST
          recalculate their routes.
        </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>
          This document updates <xref target="RFC6987"/> and <xref target="RFC8770"/>. When an
          OSPFv2 router
          supports the Unreachable Link support capability defined in this
          document, the OSPFv2 stub router MaxLinkMetric(0xffff) MUST be
          updated to MaxReachableLinkMetric(0xfffe).
        </t>
        <t>
          When an OSPFv2 router supports <xref target="RFC6987"/> and the Unreachable Link
          support capability defined in this document, it MUST also support
          advertise 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 OSPFv2
          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.
        </t>
        <t>
          An OSPFv3 router can simply advertise R-bit in its router-LSA options <xref target="RFC5340"/>
          to prevent usage stub router links for transit traffic.  Similarily, OSPFv2 routers supporting
          <xref target="RFC8770"/> can advertise the H-bit in the router-LSA options. 
        </t>
      </section>
    </section>
    <section anchor="Management_Considerations">
      <name>Management Considerations</name>
      <t>
        Support of the Unreachable Link support capability SHOULD be
        configurable.
      </t>
      <t>
        In some networks, the operator may still want links with maximum
        metric(0xffff) to be treated as reachable. For example, when auto-
        costing of links is used and there is a mix of low-speed and high-
        speed links. In such cases, the updated routers can disable the
        Unreachable Link support capability and still treat links with
        maximum metric as reachable.
      </t>
      <t>
        It is also RECOMMENDED that implementations supporting this document
        and auto-costing limit the maximum computed cost to
        MaxReachableLinkMetric (0xfffe).
      </t>
    </section>
    <section title="YANG Data Model">
      <t>
        YANG <xref target="RFC7950"></xref> is a data definition language
        used to define the contents of a conceptual data store
        that allows networked devices to be managed using NETCONF
        <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>.
      </t>
      <t>
        This section defines a YANG data model that 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>

      <section title="Tree for the YANG Data Model">
        <t>This document uses the graphical representation of data models per <xref target="RFC8340"/>.</t>
        <t>The following show the tree diagram of the module:</t>
        <artwork align="left" name="" type="" alt=""><![CDATA[
augment /rt:routing/rt:control-plane-protocols
          /rt:control-plane-protocol/ospf:ospf:
  +--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: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-capabilities*   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-capabilities*   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-capabilities*   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-capabilities*   identityref
        
        ]]></artwork>
      </section>
      <section title="YANG Data Model for OSPF Advertising Unreachable Links">
        <t>The following is the YANG module:</t>
        <sourcecode name="ietf-ospf-unreachable-links@2025-08-20.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 LSR - Link State Routing 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>";
  description
    "This YANG module defines the configuration and operational
     state for Advertising Unreachable Links in OSPF as defined
     in RFC XXXX.

     Copyright (c) 2025 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).

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

  revision 2025-08-20 {
    description
      "Initial version";
    reference
      "RFC XXXX: Advertising Unreachable Links in OSPF";
  }

  identity functional-capability {
    description
      "Base identity for router informational capabilities.";
  }

  identity unreachable-link {
    base ospf-unreach-link:functional-capability;
    description
      "When set, the router is capable of advertising unreachable
       links.";
  }

  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-capabilities {
        type identityref {
          base functional-capability;
        }
        description
          "List of functional capabilities. This list will
           contain 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" {
    when "../rt:type = 'ospf:ospfv2' or "
       + "../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
          "Enable advertisement of unreachable links.";
      }
      description
        "OSPF unreachable link advertisement configuration.";
    }
  }

  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(/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 (RFC 7770).";
    uses router-functional-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(/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 (RFC 7770).";
    uses router-functional-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(/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 (RFC 7770).";
    uses router-functional-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(/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 (RFC 7770).";
    uses router-functional-capabilities;
  }
}
        ]]></sourcecode>
      </section>
    </section>
    <section anchor="Security_Considerations">
      <name>Security Considerations</name>
      <t>
        The document does not introduce any new security issues for the OSPF
        protocol. The security considerations for <xref target="RFC2328"/>,<xref target="RFC5340"/>,
        <xref target="RFC6987"/>, and <xref target="RFC7770"/> are applicable to protocol extension.
      </t>
      <t>
        The ietf-ospf-link-unreach YANG module defines 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 protocols have to use a secure transport layer (e.g., SSH
        <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>, and
        QUIC <xref target="RFC9000"/>) and 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>
        The following data nodes defined in the YANG module that are
        writable/creatable/deletable (i.e., config true, which is the default).
        The modifications to these data nodes without proper protection can
        have prevent interpreting the OSPF LSLinkInfinity metric as unreachable.
      </t>
      <ul empty="true" spacing="normal">
        <li>/ospf:ospf/ospf-unreach-link:unreachable-link-advertisement/ospf-unreach-link:enabled</li>
      </ul>
      <t>
        Some of the readable data nodes in this YANG module may be considered
        sensitive or vulnerable in some network environments. Exposure of the
        OSPF link state database 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-unreach-link:unreachable-link-advertisement/ospf-unreach-link:enabled</li>
      </ul>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>
        This document defines a new bit in the registry "OSPF Router
        Functional Capability Bits":
      </t>
      <table align="center">
        <thead>
          <tr>
            <th>Bit Number</th>
            <th>Capability Name</th>
            <th>Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>0(TBD)</td>
            <td>Unreachable Link support</td>
            <td>This document</td>
          </tr>
        </tbody>
      </table>
  <t>The IANA is requested to assign one new URI from the IETF XML
      registry (<xref target="RFC3688" format="default"/>). Authors are suggesting the
      following URI:</t>
      <artwork align="left" name="" type="" alt=""><![CDATA[
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 one new YANG module name in the
      YANG Module Names registry (<xref target="RFC6020" format="default"/>) with the following
      suggestion :</t>
      <artwork align="left" name="" type="" alt=""><![CDATA[

name: ietf-ospf-unreachable-links
namespace: urn:ietf:params:xml:ns:yang:ietf-ospf-unreachable-links
prefix: ospf-unreach-link
reference: RFC XXXX
]]></artwork>
    </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>
</middle>
<!--  *****BACK MATTER ***** -->

<back>
  <references title="References">
    <references title="Normative References">
      <?rfc include="reference.RFC.2119.xml"?>
      <?rfc include="reference.RFC.2328.xml"?>
      <?rfc include="reference.RFC.3688.xml"?>
      <?rfc include="reference.RFC.6020.xml"?>
      <?rfc include="reference.RFC.6241.xml"?>
      <?rfc include="reference.RFC.7684.xml"?>
      <?rfc include="reference.RFC.7770.xml"?>
      <?rfc include="reference.RFC.7950.xml"?>
      <?rfc include="reference.RFC.8040.xml"?>
      <?rfc include="reference.RFC.8174.xml"?>
      <?rfc include="reference.RFC.8341.xml"?>
      <?rfc include="reference.RFC.8349.xml"?>
      <?rfc include="reference.RFC.8362.xml"?>
      <?rfc include="reference.RFC.9129.xml"?>
    </references>
    <references title="Informative References">
      <?rfc include="reference.RFC.4252.xml"?>
      <?rfc include="reference.RFC.5340.xml"?>
      <?rfc include="reference.RFC.6987.xml"?>
      <?rfc include="reference.RFC.7308.xml"?>
      <?rfc include="reference.RFC.8340.xml"?>
      <?rfc include="reference.RFC.8446.xml"?>
      <?rfc include="reference.RFC.8770.xml"?>
      <?rfc include="reference.RFC.9000.xml"?>
      <?rfc include="reference.RFC.9350.xml"?>
    </references>
  </references>
</back>
 </rfc>
