rfc8770xml2.original.xml   rfc8770.xml 
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF"
C.2119.xml"> consensus="true" docName="draft-ietf-ospf-ospfv2-hbit-12" number="8770" cat
<!ENTITY RFC2328 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF egory="std" updates="6987" ipr="trust200902" obsoletes="" xml:lang="en" sortRefs
C.2328.xml"> ="true" symRefs="true" tocInclude="true" version="3">
<!ENTITY RFC6987 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF <!-- xml2rfc v2v3 conversion 2.39.0 -->
C.6987.xml"> <!-- Generated by id2xml 1.5.0 on 2020-02-12T16:52:09Z -->
<!ENTITY RFC7770 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF <front>
C.7770.xml"> <title>Host Router Support for OSPFv2</title>
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF <seriesInfo name="RFC" value="8770"/>
C.8174.xml"> <author fullname="Keyur Patel" initials="K." surname="Patel">
<!ENTITY I-D.ietf-idr-bgp-optimal-route-reflection SYSTEM "https://xml2rfc.ietf. <organization>Arrcus</organization>
org/public/rfc/bibxml3/reference.I-D.draft-ietf-idr-bgp-optimal-route-reflection <address>
-19.xml"> <email>keyur@arrcus.com</email>
<!ENTITY RFC3101 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF </address>
C.3101.xml"> </author>
<!ENTITY RFC5340 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF <author fullname="Padma Pillay-Esnault" initials="P." surname="Pillay-Esnaul
C.5340.xml"> t">
]> <organization>PPE Consulting</organization>
<rfc submissionType="IETF" docName="draft-ietf-ospf-ospfv2-hbit-12" category="st <address>
d" updates="6987" ipr="trust200902"> <email>padma.ietf@gmail.com</email>
<!-- Generated by id2xml 1.5.0 on 2020-02-12T16:52:09Z --> </address>
<?rfc compact="yes"?> </author>
<?rfc text-list-symbols="o*+-"?> <author fullname="Manish Bhardwaj" initials="M." surname="Bhardwaj">
<?rfc subcompact="no"?> <organization>Cisco Systems</organization>
<?rfc sortrefs="yes"?> <address>
<?rfc symrefs="yes"?> <postal>
<?rfc strict="yes"?> <street>170 W. Tasman Drive</street>
<?rfc toc="yes"?> <city>San Jose</city>
<front> <region>CA</region>
<title>Host Router Support for OSPFv2</title> <code>95134</code>
<author fullname="Keyur Patel" initials="K." surname="Patel"> <country>United States of America</country>
<organization>Arrcus</organization> </postal>
<address><email>keyur@arrcus.com</email> <email>manbhard@cisco.com</email>
</address> </address>
</author> </author>
<author fullname="Serpil Bayraktar" initials="S." surname="Bayraktar">
<author fullname="Padma Pillay-Esnault" initials="P." surname="Pillay-Esn <organization>Cisco Systems</organization>
ault"> <address>
<organization>PPE Consulting</organization> <postal>
<address><email>padma.ietf@gmail.com</email> <street>170 W. Tasman Drive</street>
</address> <city>San Jose</city>
</author> <region>CA</region>
<code>95134</code>
<author fullname="Manish Bhardwaj" initials="M." surname="Bhardwaj"> <country>United States of America</country>
<organization>Cisco Systems</organization> </postal>
<address><postal><street>170 W. Tasman Drive</street> <email>serpil@cisco.com</email>
<street>San Jose, CA 95134</street> </address>
<street>USA</street> </author>
</postal> <date month="April" year="2020"/>
<email>manbhard@cisco.com</email>
</address>
</author>
<author fullname="Serpil Bayraktar" initials="S." surname="Bayraktar"> <keyword>non-transit</keyword>
<organization>Cisco Systems</organization>
<address><postal><street>170 W. Tasman Drive</street>
<street>San Jose, CA 95134</street>
<street>USA</street>
</postal>
<email>serpil@cisco.com</email>
</address>
</author>
<date day="18" month="December" year="2019"/> <abstract>
<workgroup>OSPF</workgroup> <t>
<abstract><t>
The Open Shortest Path First Version 2 (OSPFv2) protocol does not The Open Shortest Path First Version 2 (OSPFv2) protocol does not
have a mechanism for a node to repel transit traffic if it is on the have a mechanism for a node to repel transit traffic if it is on the
shortest path. This document defines a bit (Host-bit) that enables a shortest path. This document defines a bit called the Host-bit (H-bit). This
router to advertise that it is a non-transit router. It also bit enables a
router to advertise that it is a non-transit router. This document also
describes the changes needed to support the H-bit in the domain. In describes the changes needed to support the H-bit in the domain. In
addition, this document updates RFC 6987 to advertise type-2 External addition, this document updates RFC 6987 to advertise Type 2 External
and Not-So-Stubby-Area (NSSA) Link State Advertisements (LSAs) with a and Not-So-Stubby Area (NSSA) Link State Advertisements (LSAs)
high cost in order to repel traffic effectively.</t> (RFC 3101) with a high cost in order to repel traffic effectively.</t>
</abstract>
</abstract> </front>
</front> <middle>
<section anchor="sect-1" numbered="true" toc="default">
<middle> <name>Introduction</name>
<section title="Introduction" anchor="sect-1"><t> <t>
The OSPFv2 protocol specifies a Shortest Path First (SPF) algorithm The OSPFv2 protocol specifies a Shortest Path First (SPF) algorithm
that identifies transit vertices based on their adjacencies. that identifies transit vertices based on their adjacencies.
Therefore, OSPFv2 does not have a mechanism to prevent traffic Therefore, OSPFv2 does not have a mechanism to prevent traffic
transiting a participating node if it is a transit vertex in the only transiting a participating node if it is a transit vertex in the only
existing or shortest path to the destination. The use of metrics to existing or shortest path to the destination. The use of metrics to
make the node undesirable can help to repel traffic only if an make the node undesirable can help to repel traffic only if an
alternative better route exists.</t> alternative better route exists.</t>
<t>
<t>
A mechanism to move traffic away from the shortest path is A mechanism to move traffic away from the shortest path is
particularly useful for a number of use cases:</t> particularly useful for a number of use cases:</t>
<ol spacing="normal" type="1">
<t><list style="numbers"><t>To gracefully isolate a router to avoid black <li>Graceful isolation of a router, to avoid blackhole scenarios when
hole scenarios when there is a reload and possible long reconvergence times.</li>
there is a reload and possible long reconvergence times.</t> <li>Closet switches that are not usually used for transit traffic but ne
ed
<t>Closet Switches are usually not used for transit traffic but need to participate in the topology.</li>
to participate in the topology.</t> <li>Overloaded routers that could use such a capability to temporarily
repel traffic until they stabilize.</li>
<t>Overloaded routers could use such a capability to temporarily <li>BGP route reflectors, known as virtual Route Reflectors,
repel traffic until they stabilize.</t>
<t>BGP Route reflectors known as virtual Route Reflectors (vRRs),
that are not in the forwarding path but are in central locations that are not in the forwarding path but are in central locations
such as data centers. Such Route Reflectors typically are used such as data centers. Such route reflectors are typically used
for route distribution and are not capable of forwarding transit for route distribution and are not capable of forwarding transit
traffic. However, they need to learn the OSPF topology to traffic. However, they need to learn the OSPF topology to
perform SPF computation for optimal routes and reachability perform SPF computation for optimal routes and reachability
resolution for its clients resolution for their clients
<xref target="I-D.ietf-idr-bgp-optimal-route-reflection"/>.</t> <xref target="BGP-ORR" format="default"/>.</li>
</ol>
</list> <t>
</t> This document describes the functionality provided by the Host-bit (H-bit);
this functionality prevents other OSPFv2 routers from using the host router b
<t> y excluding
This document describes the Host-bit (H-bit) functionality that
prevents other OSPFv2 routers from using the host router by excluding
it in path calculations for transit traffic in OSPFv2 routing it in path calculations for transit traffic in OSPFv2 routing
domains. If the H-bit is set then the calculation of the shortest- domains. If the H-bit is set, then the calculation of the
path tree for an area, as described in section 16.1 of <xref target="RFC2328" shortest-path tree for an area, as described in <xref target="RFC2328" sectio
/>, is nFormat="of" section="16.1"/>, is
modified by including a check to verify that transit vertices DO NOT modified by including a check to verify that transit vertices DO NOT
have the H-bit set (see <xref target="sect-4"/>). Furthermore, in order to r have the H-bit set (see <xref target="sect-4" format="default"/>). Furthermo
epel re, in order to repel
traffic effectively, <xref target="RFC6987"/> is updated so that type-2 Exter traffic effectively, this document updates <xref target="RFC6987"
nal and format="default"/> so that Type&nbsp;2 External and Not-So-Stubby Area (NSSA)
NSSA LSAs are advertised with a high cost (see <xref target="sect-6"/>). Ope Link State Advertisements (LSAs) <xref target="RFC3101"/>
n are advertised with a high cost (see <xref target="sect-6" format="default"/>
Shortest Path First Version 3 defines an option bit for router-LSAs ). OSPFv3 <xref target="RFC5340"/> defines an
known as the R-bit in <xref target="RFC5340"/> to support a similar functiona option bit, known as the R-bit, for router-LSAs; the H-bit supports similar f
lity.</t> unctionality.</t>
</section>
</section> <section anchor="sect-2" numbered="true" toc="default">
<name>Requirements Language</name>
<section title="Requirements Language" anchor="sect-2"><t> <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
"OPTIONAL" in this document are to be interpreted as described in BCP "<bcp14>SHOULD NOT</bcp14>",
14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, the "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
y appear in all "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
capitals, as shown here.</t> are to be interpreted as described in BCP&nbsp;14
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
</section> when, they appear in all capitals, as shown here.</t>
</section>
<section title="Host-bit Support" anchor="sect-3"><t> <section anchor="sect-3" numbered="true" toc="default">
This document defines a new router-LSA bit known as the Host Bit or <name>Host-Bit Support</name>
<t>
This document defines a new router-LSA bit, known as the Host-bit or
the H-bit. An OSPFv2 router advertising a router-LSA with the H-bit the H-bit. An OSPFv2 router advertising a router-LSA with the H-bit
set indicates that it MUST NOT be used as a transit router (see set indicates that it <bcp14>MUST NOT</bcp14> be used as a transit router (se
<xref target="sect-4"/>) by other OSPFv2 routers in the area supporting the e
functionality.</t> <xref target="sect-4" format="default"/>) by other OSPFv2 routers in the
area that support the H-bit functionality.</t>
<t> <t>
If the H-bit is not set then backwards compatibility is achieved as If the H-bit is not set, then backward compatibility is achieved, as
the behavior will be the same as in <xref target="RFC2328"/>.</t> the behavior will be the same as in <xref target="RFC2328" format="default"/>
.</t>
<figure title="OSPF Router-LSA" anchor="ure-ospf-router-lsa"><artwork><![ <figure anchor="ure-ospf-router-lsa">
CDATA[ <name>OSPF Router-LSA</name>
0 1 2 3 <artwork name="" type="" align="left" alt=""><![CDATA[
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
| LS age | Options | 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | 1 |
| Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID |
| Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router |
| LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number |
| LS checksum | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | length |
|H|0|0|N|W|V|E|B| 0 | # links | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |H|0|0|N|W|V|E|B| 0 | # links |
| Link ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link ID |
| Link Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Data |
| Type | # TOS | metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | # TOS | metric |
| ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... |
| TOS | 0 | TOS metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TOS | 0 | TOS metric |
| Link ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link ID |
| Link Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Data |
| ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork> | ... |]]></artwork>
</figure> </figure>
<t><list style="hanging" hangIndent="-1"><t hangText="Bit H is the high-o
rder bit of the OSPF flags as shown below.">
<vspace blankLines="0"/>
</t>
</list>
</t>
<figure title="OSPF Router-LSA Option bits" anchor="ure-ospf-router-lsa-o <t>Bit H is the high-order bit of the OSPF flags, as shown below.</t>
ption-bits"><artwork><![CDATA[ <figure anchor="ure-ospf-router-lsa-option-bits">
<name>OSPF Router-LSA Option Bits</name>
<artwork name="" type="" align="left" alt=""><![CDATA[
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|H|0|0|N|W|V|E|B| |H|0|0|N|W|V|E|B|
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+]]></artwork>
]]></artwork> </figure>
</figure> <t>
<t> When the H-bit is set, the OSPFv2 router is a host (non-transit)
When the H-bit is set, the OSPFv2 router is a Host (non-transit)
router and is incapable of forwarding transit traffic. In this mode, router and is incapable of forwarding transit traffic. In this mode,
the other OSPFv2 routers in the area MUST NOT use the host router for the other OSPFv2 routers in the area <bcp14>MUST NOT</bcp14> use the host rou
transit traffic, but may send traffic to its local destinations.</t> ter for
transit traffic but may send traffic to its local destinations.</t>
<t> <t>
An OSPFv2 router originating a router-LSA with the H-bit set MUST An OSPFv2 router originating a router-LSA with the H-bit set <bcp14>MUST</bcp
14>
advertise all its non-stub links with a link cost of MaxLinkMetric advertise all its non-stub links with a link cost of MaxLinkMetric
<xref target="RFC6987"/>.</t> <xref target="RFC6987" format="default"/>.</t>
<t>
<t> When the H-bit is set, an Area Border Router (ABR) <bcp14>MUST</bcp14> advert
When the H-bit is set, an Area Border Router (ABR) MUST advertise the ise the
same H-bit setting in its self-originated router-LSAs for all same H-bit setting in its self-originated router-LSAs for all
attached areas. The consistency of the setting will prevent inter- attached areas. The consistency of the setting will prevent
area traffic transiting through the router by suppressing inter&nbhy;area traffic transiting through the router by suppressing
advertisement of prefixes from other routers in the area in its advertisements of prefixes from other routers in the area in its
summary LSAs. Only IPv4 prefixes associated with its local summary-LSAs. Only IPv4 prefixes associated with its local
interfaces MUST be advertised in summary-LSAs to provide reachability interfaces <bcp14>MUST</bcp14> be advertised in summary-LSAs to provide reach
ability
to end hosts attached to a router with the H-bit set.</t> to end hosts attached to a router with the H-bit set.</t>
<t>
<t> When the H-bit is set, the host router cannot act as an Autonomous System
When the H-bit is set the host router cannot act as an AS Boundary Border Router (ASBR). Indeed, ASBRs are transit routers to prefixes that are
Router (ASBR). Indeed, ASBR are transit routers to prefixes that are
typically imported through redistribution of prefixes from other typically imported through redistribution of prefixes from other
routing protocols. Therefore, non-local IPv4 prefixes, e.g., those routing protocols. Therefore, non-local IPv4 prefixes, e.g., those
imported from other routing protocols, SHOULD NOT be advertised in imported from other routing protocols, <bcp14>SHOULD NOT</bcp14> be advertise d in
AS-external-LSAs if the H-bit is set. Some use cases, such as an AS-external-LSAs if the H-bit is set. Some use cases, such as an
overloaded router or a router being gracefully isolated, may benefit overloaded router or a router being gracefully isolated, may benefit
from continued advertisement of non-local prefixes. In these cases, from continued advertisements of non-local prefixes. In these cases,
the type 2-metric in AS-external-LSAs MUST be set to LSInfinity to the Type&nbsp;2 metric in AS-external-LSAs <bcp14>MUST</bcp14> be set to
repel traffic.(see Section 6 of this document).</t> LSInfinity <xref target="RFC2328"/> to
repel traffic (see <xref target="sect-6"/> of this document).</t>
</section> </section>
<section anchor="sect-4" numbered="true" toc="default">
<section title="SPF Modifications" anchor="sect-4"><t> <name>SPF Modifications</name>
The SPF calculation described in section 16.1 <xref target="RFC2328"/> will b <t>
e The SPF calculation described in <xref target="RFC2328" sectionFormat="of"
section="16.1"/> is
modified to ensure that the routers originating router-LSAs with the modified to ensure that the routers originating router-LSAs with the
H-bit set will not be used for transit traffic. The Step 2 is H-bit set will not be used for transit traffic. Step (2) is
modified to include a check on H-bit as shown below. (Please note modified to include a check on the H-bit, as shown below. (Please note
all the sub-procedures of Step 2 remain unchanged and not included in that all of the sub-procedures of Step (2) remain unchanged and are not inclu
ded in
the excerpt below.)</t> the excerpt below.)</t>
<ul empty="true" spacing="normal">
<t><list style="empty" hangIndent="13"> <li>
<t><list style="hanging" hangIndent="3"><t hangText="2) Call the vertex j <dl newline="false" spacing="normal" indent="5">
ust added to the"> <dt>(2)</dt><dd>Call the vertex just added to the
<vspace blankLines="0"/> tree "vertex V". Examine the LSA
tree vertex V. Examine the LSA associated with vertex V. This is
associated with vertex V. This is a lookup in Area&nbsp;A's link state
a lookup in the Area A's link state database based on the Vertex ID. If
database based on the Vertex ID. If this is a router-LSA, and the H-bit
this is a router-LSA, and the H-bit of the router-LSA is set, and
of the router-LSA is set, and vertex V is not the root, then the
vertex V is not the root, then the router should not be used for transit
router should not be used for transit and Step (3) should be executed
and step (3) should be executed immediately. If this is a router-LSA
immediately. If this is a router-LSA, and bit V of the router-LSA (see
and bit V of the router-LSA (see Appendix A.4.2) is set, set Area A's
Section A.4.2) is set, set Area A's TransitCapability to TRUE. In any case,
TransitCapability to TRUE. In any case, each link described by the LSA gives
each link described by the LSA gives the cost to an adjacent vertex. For
the cost to an adjacent vertex. For each described link (say it joins
each described link, (say it joins vertex V to vertex W):</dd>
vertex V to vertex W): </dl>
</t> </li>
</ul>
</list> </section>
</t> <section anchor="sect-5" numbered="true" toc="default">
<name>Autodiscovery and Backward Compatibility</name>
</list> <t>
</t>
</section>
<section title="Auto Discovery and Backward Compatibility" anchor="sect-5
"><t>
To reduce the possibility of any routing loops due to partial To reduce the possibility of any routing loops due to partial
deployment, this document defines an OSPF Router Information (RI) LSA deployment, this document defines an OSPF Router Information (RI) LSA
<xref target="RFC7770"/> capability. The RI LSA MUST be area-scoped. Bit:</ capability bit <xref target="RFC7770" format="default"/>. See
t> <xref target="sect-7"/> (<xref target="tab-2"/>).
</t>
<t><list style="empty" hangIndent="7">
<t><list style="hanging" hangIndent="-1"><t hangText="Bit">
Capabilities
<vspace blankLines="0"/>
<list style="empty"><t> 7 Host Router Support capability
</t>
</list>
</t>
</list>
</t>
</list>
</t>
<t><list hangIndent="7" style="hanging"><t>
Table 1: OSPF Router Information LSA Capabilities</t>
</list>
</t>
<t> <t>The RI LSA <bcp14>MUST</bcp14> be area-scoped.</t>
Auto Discovery via announcement of the Host Router Support Capability <t>
Autodiscovery via announcement of the OSPF Host Router capability
(<xref target="sect-7"/>)
ensures that the H-bit functionality and its associated SPF changes ensures that the H-bit functionality and its associated SPF changes
MUST only take effect if all the routers in a given OSPF area support <bcp14>MUST</bcp14> only take effect if all the routers in a given OSPF area support
this functionality.</t> this functionality.</t>
<t>
<t>
In normal operation, it is possible that the RI LSA will fail to In normal operation, it is possible that the RI LSA will fail to
reach all routers in an area in a timely manner. For example, if a reach all routers in an area in a timely manner. For example, if a
new router without H-bit support joins an area that previously had new router without H-bit support joins an area that previously had
only H-bit capable routers with H-bit set then it may take some time only H-bit-capable routers with the H-bit set, then it may take some time
for the RI to propagate to all routers. While it is propagating, the for the RI LSA to propagate to all routers. While it is propagating, the
routers in the area will gradually detect the presence of a router routers in the area will gradually detect the presence of a router
not supporting the capability and revert back to normal SPF that does not support the capability and will revert back to the normal SPF
calculation. During the propagation time, the area as a whole is calculation. During the propagation time, the area as a whole is
unsure of the status of the new router, and that can cause temporary unsure of the status of the new router; this type of situation can cause temp orary
transient loops.</t> transient loops.</t>
<t>
<t>
The following recommendations will mitigate transient routing loops:</t> The following recommendations will mitigate transient routing loops:</t>
<ul spacing="normal">
<t><list style="symbols"><t>Implementations are RECOMMENDED to provide a <li>Implementations are <bcp14>RECOMMENDED</bcp14> to provide a configur
configuration ation
parameter to manually override enforcement of the H-bit parameter to manually override enforcement of the H-bit
functionality in partial deployments where the topology guarantees functionality in partial deployments where the topology guarantees
that OSPFv2 routers not supporting the H-bit do not compute routes that OSPFv2 routers not supporting the H-bit do not compute routes
resulting in routing loops.</t> resulting in routing loops.</li>
<li>All routers with the H-bit set <bcp14>MUST</bcp14> advertise all of
<t>All routers with the H-bit set MUST advertise all of the router's the router's
non-stub links with a metric equal to MaxLinkMetric <xref target="RFC6987" non-stub links with a metric equal to MaxLinkMetric <xref target="RFC6987"
/> in format="default"/> in
its LSAs in order to avoid OSPFv2 (unless last resort) routers not its LSAs in order to prevent OSPFv2 routers (unless a last-resort path)
supporting the H-bit from attempting to use it for transit that do not support the H-bit from attempting to use the non-stub links fo
traffic.</t> r transit
traffic.</li>
<t>All routers supporting the H-Bit MUST check the RI LSAs of all <li>All routers supporting the H-bit <bcp14>MUST</bcp14> check the RI LS
nodes in the area to verify that all nodes support the H-Bit As of all
before actively using the H-Bit feature. If any router does not nodes in the area to verify that all nodes support the H-bit
advertise the Host Router Support capability then the SPF before actively using the H-bit feature. If any router does not
Modifications (<xref target="sect-4"/>) MUST NOT be used in the area.</t> advertise the OSPF Host Router capability (<xref target="sect-7"/>), then
the SPF
</list> modifications described in <xref target="sect-4" format="default"/> <bcp14
</t> >MUST NOT</bcp14> be used in the area.</li>
</ul>
</section> </section>
<section anchor="sect-6" numbered="true" toc="default">
<section title="OSPF AS-External-LSAs/NSSA LSAs with Type 2 Metrics" anch <name>OSPF AS-External-LSAs / NSSA-LSAs with Type 2 Metrics</name>
or="sect-6"><t> <t>
When calculating the path to a prefix in an OSPF AS-External-LSA or When calculating the path to a prefix in an OSPF AS-external-LSA or
NSSA-LSA <xref target="RFC3101"/> with a Type-2 metric, the advertised Type-2 NSSA-LSA <xref target="RFC3101" format="default"/> with a Type&nbsp;2 metric,
metric the advertised Type&nbsp;2 metric
is taken as more significant than the OSPF intra-area or inter-area is taken as more significant than the OSPF intra-area or inter-area
path. Hence, advertising the links with MaxLinkMetric as specified path. Hence, advertising the links with MaxLinkMetric as specified
in <xref target="RFC6987"/> does not discourage transit traffic when calculat in <xref target="RFC6987" format="default"/> does not discourage transit
ing AS traffic when calculating AS-external or NSSA routes with Type&nbsp;2 metrics.
external or NSSA routes with Type-2 metrics.</t> </t>
<t>
<t> Consequently, this document updates <xref target="RFC6987" format="default"/>
Consequently, <xref target="RFC6987"/> is updated so that the Type-2 metric i so that the Type&nbsp;2 metric in any
n any self-originated AS-external-LSAs or NSSA-LSAs is advertised as
self-originated AS-External-LSAs or NSSA-LSAs is advertised as LSInfinity-1 <xref target="RFC2328" format="default"/>.
LSInfinity-1 <xref target="RFC2328"/>. If the H-bit is set, then the Type-2 If the H-bit is set, then the Type&nbsp;2 metric
metric <bcp14>MUST</bcp14> be set to LSInfinity.</t>
MUST be set to LSInfinity.</t> </section>
<section anchor="sect-7" numbered="true" toc="default">
</section> <name>IANA Considerations</name>
<t>
<section title="IANA Considerations" anchor="sect-7"><t> IANA has registered the following value in the
This document requests the IANA to assign the 0x80 value to the Host- "OSPFv2 Router Properties Registry".</t>
Bit (H-bit)in the OSPFv2 Router Properties Registry</t>
<t><list style="empty" hangIndent="7">
<t><list style="hanging" hangIndent="-1"><t hangText="Value">
Description Reference
<vspace blankLines="0"/>
</t>
<t hangText="0x80">
Host (H-bit) This Document
<vspace blankLines="0"/>
</t>
</list>
</t>
</list>
</t>
<t>
This document requests the IANA to assign the Bit Number value of 7
to the Host Router Support Capability in the OSPF Router
Informational Capability Bits Registry.</t>
<t><list style="empty" hangIndent="7">
<t><list style="hanging" hangIndent="3"><t hangText="Bit Number">
Capability Name Reference
<vspace blankLines="1"/>
7 OSPF Host Router This Document
</t>
</list> <table anchor="tab-1">
</t> <name>H-Bit</name>
<thead>
<tr>
<th>Value</th>
<th>Description</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>0x80</td>
<td>Host (H-bit)</td>
<td>RFC 8770</td>
</tr>
</tbody>
</table>
</list> <t>
</t> IANA has registered the following in the "OSPF Router
Informational Capability Bits" registry.</t>
</section> <table anchor="tab-2">
<name>OSPF Host Router Capability Bit</name>
<thead>
<tr>
<th>Bit Number</th>
<th>Capability Name</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">7</td>
<td>OSPF Host Router</td>
<td>RFC 8770</td>
</tr>
</tbody>
</table>
<section title="Security Considerations" anchor="sect-8"><t> </section>
This document introduces the H-bit which is a capability that <section anchor="sect-8" numbered="true" toc="default">
<name>Security Considerations</name>
<t>
This document introduces the H-bit, which is a capability feature that
restricts the use of a router for transit, while only its local restricts the use of a router for transit, while only its local
destinations are reachable. This is a subset of the operations of a destinations are reachable. This is a subset of the operations of a
normal router and therefore should not introduce new security normal router and therefore should not introduce new security
considerations beyond those already known in OSPFv2 <xref target="RFC2328"/>. considerations beyond those already known in OSPFv2 <xref target="RFC2328" fo
The rmat="default"/>. The
feature introduces the advertising of a host router capability feature introduces the advertisement of host router capability
information to all OSPFv2 routers in an area. This information can information to all OSPFv2 routers in an area. This information can
be leveraged for discovery and verification that all routers in the be leveraged for discovery and verification that all routers in the
area support the capability before the feature is turned on. In the area support the capability before the feature is turned on. In the
event that a rogue or buggy router advertises incorrectly its event that a rogue or buggy router incorrectly advertises its
capability the possible cases are:</t> capability, possible scenarios are as follows:</t>
<ul spacing="normal">
<t><list style="symbols"><t>The router does not have the capability but s <li>The router does not have the capability but sends the H-bit set in
ends the H-Bit set in its LSAs. In this case, a routing loop is possible.
its LSAs: In this case, there is a possibility of a routing loop. However, this is mitigated by the fact that this router should be
However this is mitigated by the fact that this router should be
avoided anyway. Moreover, the link metrics cost (MaxLinkMetric) avoided anyway. Moreover, the link metrics cost (MaxLinkMetric)
of this router will mitigate this situation. In any case, a of this router will mitigate this situation. In any case, a
router advertising the H-bit capability without its links cost router advertising the H-bit capability without its link metrics cost
equal to MaxLinkMetric may be an indicator that this is a rogue equal to MaxLinkMetric could be a rogue
router and should be avoided.</t> router and should be avoided.</li>
<li>The router has the capability but sends the H-bit clear in its
<t>The router has the capability but sends the H-Bit clear in its LSAs. In this case, the router merely prevents the support of other
LSAs: In this case, the router merely prevents support of other H-bit routers in the area and prevents all the routers from running the mo
H-bit routers in the area and all the routers to run the modified dified
SPF. The impact is also mitigated as other H-Bit routers in the SPF. Any impacts are also mitigated in this scenario, as other H-bit rout
area also advertise MaxLinkMetric cost so they will still be ers in the
avoided unless they are the last resort path.</t> area also advertise the MaxLinkMetric cost, so they will still be
avoided unless they are the last&nbhy;resort path.</li>
<t>The rogue router is on the only transit path for some destinations <li>The rogue router is on the only transit path for some destinations
and sends the H-Bit set (for no good/valid reason) in its LSAs and and sends the H-bit set (for no good/valid reason) in its LSAs, and
effectively partition the network. This case is indistinguishable effectively partitions the network. This case is indistinguishable
from the normal case where the operator may consciously decide to from the normal case where an operator may consciously decide to
set the H-bit to perform maintenance on a router that is on the set the H-bit to perform maintenance on a router that is on the
only transit path. The OSPF protocol will continue to function only transit path. The OSPF protocol will continue to function
within the partitioned domains.</t> within the partitioned domains.</li>
</ul>
</list> </section>
</t> </middle>
<back>
</section> <references>
<name>References</name>
<section title="Acknowledgements" anchor="sect-9"><t> <references>
The authors would like to acknowledge Hasmit Grover for discovery of <name>Normative References</name>
the limitation in <xref target="RFC6987"/>, Acee Lindem, Abhay Roy, David War <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.
d, xml"/>
Burjiz Pithawala, and Michael Barnes for their comments.</t> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2328.
xml"/>
</section> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6987.
xml"/>
</middle> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7770.
xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.
xml"/>
</references>
<references>
<name>Informative References</name>
<back> <!-- draft-ietf-idr-bgp-optimal-route-reflection (I-D Exists) -->
<references title="Normative References"> <!-- Repository file missing "editor" entry, so have to do "long way" -->
&RFC2119; <reference anchor="BGP-ORR"
&RFC2328; target="https://tools.ietf.org/html/draft-ietf-idr-bgp-optimal-route-reflection-
&RFC6987; 20">
&RFC7770; <front>
&RFC8174; <title>BGP Optimal Route Reflection (BGP-ORR)</title>
</references> <seriesInfo name="Work in Progress, Internet-Draft," value="draft-ie
<references title="Informative References"> tf-idr-bgp-optimal-route-reflection-20"/>
&I-D.ietf-idr-bgp-optimal-route-reflection; <author initials="R" surname="Raszuk" fullname="Robert Raszuk" role=
&RFC3101; "editor">
&RFC5340; <organization/>
</references> </author>
</back> <author initials="C" surname="Cassar" fullname="Christian Cassar">
<organization/>
</author>
<author initials="E" surname="Aman" fullname="Erik Aman">
<organization/>
</author>
<author initials="B" surname="Decraene" fullname="Bruno Decraene">
<organization/>
</author>
<author initials="K" surname="Wang" fullname="Kevin Wang">
<organization/>
</author>
<date month="January" day="8" year="2020"/>
</front>
</reference>
</rfc> <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3101.
xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5340.
xml"/>
</references>
</references>
<section anchor="acknowledgements" numbered="false" toc="default">
<name>Acknowledgements</name>
<t>
The authors would like to acknowledge <contact fullname="Hasmit Grover"/> for
discovering
the limitation in <xref target="RFC6987" format="default"/>, and <contact
fullname="Acee Lindem"/>, <contact fullname="Abhay Roy"/>, <contact
fullname="David Ward"/>, <contact fullname="Burjiz Pithawala"/>, and <contact
fullname="Michael Barnes"/> for their comments.</t>
</section>
</back>
</rfc>
 End of changes. 43 change blocks. 
419 lines changed or deleted 398 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/