rfc9355.original   rfc9355.txt 
Link State Routing K. Talaulikar, Ed. Internet Engineering Task Force (IETF) K. Talaulikar, Ed.
Internet-Draft P. Psenak Request for Comments: 9355 P. Psenak
Updates: 2328 (if approved) Cisco Systems, Inc. Updates: 2328 Cisco Systems, Inc.
Intended status: Standards Track A. Fu Category: Standards Track A. Fu
Expires: 9 April 2023 Bloomberg ISSN: 2070-1721 Bloomberg
M. Rajesh M. Rajesh
Juniper Networks Juniper Networks
6 October 2022 February 2023
OSPF BFD Strict-Mode OSPF Bidirectional Forwarding Detection (BFD) Strict-Mode
draft-ietf-lsr-ospf-bfd-strict-mode-10
Abstract Abstract
This document specifies the extensions to OSPF that enable an OSPF This document specifies the extensions to OSPF that enable an OSPF
router to signal the requirement for a Bidirectional Forwarding router to signal the requirement for a Bidirectional Forwarding
Detection (BFD) session prior to adjacency formation. Link-Local Detection (BFD) session prior to adjacency formation. Link-Local
Signaling (LLS) is used to advertise the requirement for strict-mode Signaling (LLS) is used to advertise the requirement for strict-mode
BFD session establishment for an OSPF adjacency. If both OSPF BFD session establishment for an OSPF adjacency. If both OSPF
neighbors advertise BFD strict-mode, adjacency formation will be neighbors advertise BFD strict-mode, adjacency formation will be
blocked until a BFD session has been successfully established. blocked until a BFD session has been successfully established.
This document updates RFC2328 by augmenting the OSPF neighbor state This document updates RFC 2328 by augmenting the OSPF neighbor state
machine with a check for BFD session up before progression from Init machine with a check for BFD session up before progression from Init
to Two-Way state when operating in OSPF BFD strict-mode. to 2-Way state when operating in OSPF BFD strict-mode.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 9 April 2023. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9355.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2023 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language
2. LLS B-bit Flag . . . . . . . . . . . . . . . . . . . . . . . 4 2. LLS B-Bit Flag
3. Local Interface IPv4 Address TLV . . . . . . . . . . . . . . 4 3. Local Interface IPv4 Address TLV
4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Procedures
4.1. OSPFv3 IPv4 Address-Family Specifics . . . . . . . . . . 6 4.1. OSPFv3 IPv4 AF Specifics
4.2. Graceful Restart Considerations . . . . . . . . . . . . . 7 4.2. Graceful Restart Considerations
5. Operations & Management Considerations . . . . . . . . . . . 7 5. Operations and Management Considerations
6. Backward Compatibility . . . . . . . . . . . . . . . . . . . 7 6. Backward Compatibility
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations
8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 8. Security Considerations
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 9. References
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References
10.1. Normative References . . . . . . . . . . . . . . . . . . 9 9.2. Informative References
10.2. Informative References . . . . . . . . . . . . . . . . . 10 Acknowledgements
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses
1. Introduction 1. Introduction
Bidirectional Forwarding Detection (BFD) [RFC5880] enables routers to Bidirectional Forwarding Detection (BFD) [RFC5880] enables routers to
monitor data-plane connectivity and to detect faults in the monitor data plane connectivity and to detect faults in the
bidirectional path between them. BFD is leveraged by routing bidirectional path between them. BFD is leveraged by routing
protocols like OSPFv2 [RFC2328] and OSPFv3 [RFC5340] to detect protocols like OSPFv2 [RFC2328] and OSPFv3 [RFC5340] to detect
connectivity failures for established adjacencies faster than the connectivity failures for established adjacencies faster than the
OSPF hello dead timer detection and trigger rerouting of traffic OSPF Hello dead timer detection and to trigger rerouting of traffic
around the failure. The use of BFD for monitoring routing protocol around the failure. The use of BFD for monitoring routing protocol
adjacencies is described in [RFC5882]. adjacencies is described in [RFC5882].
When BFD monitoring is enabled for OSPF adjacencies by the network When BFD monitoring is enabled for OSPF adjacencies by the network
operator, the BFD session is bootstrapped based on the neighbor operator, the BFD session is bootstrapped based on the neighbor
address information discovered by the exchange of OSPF Hello packets. address information discovered by the exchange of OSPF Hello packets.
Faults in the bidirectional forwarding detected via BFD then result Faults in the bidirectional forwarding detected via BFD then result
in the OSPF adjacency being brought down. A degraded or poor quality in the OSPF adjacency being brought down. A degraded or poor-quality
link may result in intermittent packet drops. In such scenarios, in link may result in intermittent packet drops. In such scenarios,
implementations prior to the extensions specified in this document, implementations prior to the extensions specified in this document
an OSPF adjacency may still get established over such a link but may still get an OSPF adjacency established over such a link;
given the more aggressive monitoring intervals supported by BFD, a however, given the more aggressive monitoring intervals supported by
BFD session may not get established and/or may flap over it. The BFD, a BFD session may not get established and/or may flap. The
traffic that gets forwarded over such a link would experience packet traffic forwarded over such a link would experience packet drops, and
drops and the failure of the BFD session establishment would not the failure of the BFD session establishment will not enable fast
enable fast routing convergence. OSPF adjacency flaps may occur over routing convergence. OSPF adjacency flaps may occur over such links
such links as OSPF brings up the adjacency only for it to be brought when OSPF brings up the adjacency only for it to be brought down
down again by BFD. again by BFD.
To avoid the routing churn associated with these scenarios, it would To avoid the routing churn associated with these scenarios, it would
be beneficial to not allow OSPF to establish an adjacency until a BFD be beneficial not to allow OSPF to establish an adjacency until a BFD
session is successfully established and has stabilized. However, session is successfully established and has stabilized. However,
this would preclude the OSPF operation in an environment where not this would preclude the OSPF operation in an environment where not
all OSPF routers both support BFD and have it enabled on the link. A all OSPF routers support BFD and have it enabled on the link. A
solution is to block OSPF adjacency establishment until a BFD session solution is to block OSPF adjacency establishment until a BFD session
is established as long as both neighbors advertise such a is established as long as both neighbors advertise such a
requirement. Such a mode of OSPF BFD usage is referred to as requirement. Such a mode of OSPF BFD usage is referred to as
"strict-mode". It introduces the signaling support in OSPF to "strict-mode". Strict-mode introduces signaling support in OSPF to
achieve the blocking of adjacency formation until BFD session achieve the blocking of adjacency formation until BFD session
establishment as described in section 4.1 of [RFC5882]. establishment occurs, as described in Section 4.1 of [RFC5882].
This document specifies the OSPF protocol extensions using Link-Local This document specifies the OSPF protocol extensions using Link-Local
Signaling (LLS) [RFC5613] for a router to indicate to its neighbor Signaling (LLS) [RFC5613] for a router to indicate to its neighbor
the willingness to require BFD strict-mode for OSPF adjacency the willingness to require BFD strict-mode for OSPF adjacency
establishment (refer to Section 2). It also introduces an extension establishment (refer to Section 2). It also introduces an extension
for OSPFv3 Link-Local Signalling (LLS) of the interface IPv4 address to OSPFv3 LLS of the interface IPv4 address (refer to Section 3) to
(refer to Section 3) to be used for the BFD session setup when OSPFv3 be used for the BFD session setup when OSPFv3 is used for an IPv4
is used for an IPv4 address-family (AF) instance. Address Family (AF) instance.
This document updates [RFC2328] by augmenting the OSPF neighbor state This document updates [RFC2328] by augmenting the OSPF neighbor state
machine with a check for BFD session up before progression from Init machine with a check for BFD session up before progression from Init
to Two-Way state when operating in OSPF BFD strict-mode. to 2-Way state when operating in OSPF BFD strict-mode.
The extensions and procedures for OSPF BFD strict-mode also apply for The extensions and procedures for OSPF BFD strict-mode also apply for
adjacency over virtual links using BFD multi-hop [RFC5883] adjacency over virtual links using BFD multi-hop [RFC5883]
procedures. procedures.
A similar functionality for IS-IS is specified [RFC6213]. A similar functionality for IS-IS is specified in [RFC6213].
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. LLS B-bit Flag 2. LLS B-Bit Flag
This document defines the B-bit in the LLS Type 1 Extended Options This document defines the B-bit in the LLS Type 1 Extended Options
and Flags field. This bit is defined for the LLS block included in and Flags. This bit is defined for the LLS block that is included in
Hello and Database Description (DD) packets and indicates that BFD is Hello and Database Description (DD) packets. The B-bit indicates
enabled on the link and that the router requests OSPF BFD strict- that BFD is enabled on the link and that the router requests OSPF BFD
mode. Section 7 describes the position of the B-bit. strict-mode. Section 7 describes the position of the B-bit.
A router MUST include the LLS block with the B-bit set in the LLS A router MUST include the LLS block with the B-bit set in the LLS
Type 1 Extended Options and Flags TLV in its Hello and DD packets Type 1 Extended Options and Flags in its Hello and DD packets when
when OSPF BFD strict-mode is enabled on the link. OSPF BFD strict-mode is enabled on the link.
3. Local Interface IPv4 Address TLV 3. Local Interface IPv4 Address TLV
The Local Interface IPv4 Address TLV is an LLS TLV defined for OSPFv3 The Local Interface IPv4 Address TLV is an LLS TLV defined for OSPFv3
IPv4 AF instance [RFC5838] protocol operation as described in IPv4 AF instance [RFC5838] protocol operation as described in
Section 4.1. Section 4.1.
It has the following format: It has the following format:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface IPv4 Address | | Local Interface IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where: where:
Type: 21 Type: 21
Length: 4 octets Length: 4 octets
Local Interface IPv4 Address: The primary IPv4 address of the Local Interface IPv4 Address: The primary IPv4 address of the local
local interface. interface.
4. Procedures 4. Procedures
A router supporting OSPF BFD strict-mode advertises this capability A router supporting OSPF BFD strict-mode advertises this capability
through its Hello packets as described in Section 2. When a router through its Hello packets as described in Section 2. When a router
supporting OSPF BFD strict-mode discovers a new neighbor router that supporting OSPF BFD strict-mode discovers a new neighbor router that
also supports OSPF BFD strict-mode, it will establish a BFD session also supports OSPF BFD strict-mode, it will establish a BFD session
first with that neighbor before bringing up the OSPF adjacency as with that neighbor first before bringing up the OSPF adjacency as
described further in this section. described further in this section.
This document updates the OSPF neighbor state machine as described in This document updates the OSPF neighbor state machine as described in
[RFC2328]. Specifically, the operations related to the Init state [RFC2328]. Specifically, the operations related to the Init state
are modified as below when OSPF BFD strict-mode is used: are modified as described below when OSPF BFD strict-mode is used:
Init (without OSPF BFD strict-mode)
Init (without OSPF BFD strict-mode):
In this state, a Hello packet has recently been received from the In this state, a Hello packet has recently been received from the
neighbor. However, bidirectional communication has not yet been neighbor. However, bidirectional communication has not yet been
established with the neighbor (i.e., the router itself did not established with the neighbor (i.e., the router itself did not
appear in the neighbor's Hello packet). All neighbors in this appear in the neighbor's Hello packet). All neighbors in this
state (or higher) are listed in the Hello packets sent from the state (or higher) are listed in the Hello packets sent from the
associated interface. associated interface.
Init (with OSPF BFD strict-mode) Init (with OSPF BFD strict-mode):
In this state, a Hello packet has recently been received from the In this state, a Hello packet has recently been received from the
neighbor. However, bidirectional communication has not yet been neighbor. However, bidirectional communication has not yet been
established with the neighbor (i.e., the router itself did not established with the neighbor (i.e., the router itself did not
appear in the neighbor's Hello packet). BFD session establishment appear in the neighbor's Hello packet). BFD session establishment
with the neighbor is requested, if not already completed (e.g., in with the neighbor is requested if it's not already completed
the event of transition from 2-way state). Neighbors in Init (e.g., in the event of transition from 2-Way state). Neighbors in
state or higher will be listed in Hello packets associated with Init state or higher will be listed in Hello packets associated
the interface if they either have a corresponding BFD session with the interface if they either have a corresponding BFD session
established or have not advertised OSPF BFD strict-mode in the established or have not advertised OSPF BFD strict-mode in the LLS
Hello packet LLS Extended Options and Flags. Type 1 Extended Options and Flags advertised in the Hello packet.
Whenever the neighbor state transitions to Down state, the removal of When the neighbor state transitions to Down state, the removal of the
the BFD session associated with that neighbor is requested by OSPF BFD session associated with that neighbor is requested by OSPF;
and subsequent BFD session establishment is similarly requested by subsequent BFD session establishment is similarly requested by OSPF
OSPF upon transitioning into Init state. This may result in the upon transitioning into Init state. This may result in BFD session
deletion and creation of the BFD session respectively when OSPF is deletion and creation, respectively, when OSPF is the only client
the only client interested in the BFD session with the neighbor interested in the BFD session with the neighbor address.
address.
An implementation MUST NOT wait for BFD session establishment in Init An implementation MUST NOT wait for BFD session establishment in Init
state unless OSPF BFD strict-mode is enabled by the operator on the state unless OSPF BFD strict-mode is enabled by the operator on the
interface and the specific neighbor indicates OSPF BFD strict-mode interface and the specific neighbor indicates OSPF BFD strict-mode
capability via its Hello LLS options. When BFD is enabled, but OSPF capability via the LLS Type 1 Extended Options and Flags advertised
BFD strict-mode has not been signaled by both neighbors, an in the Hello packet. When BFD is enabled, but OSPF BFD strict-mode
implementation SHOULD start BFD session establishment only in 2-Way has not been signaled by both neighbors, an implementation SHOULD
state or greater state. This makes it possible for an OSPF router to start BFD session establishment only in 2-Way or greater state. This
support BFD operation in both strict-mode and normal mode across makes it possible for an OSPF router to support BFD operation in both
different interfaces or even different neighbors on the same multi- strict-mode and normal mode across different interfaces or even
access interface. across different neighbors on the same multi-access interface.
Once the OSPF state machine has moved beyond the Init state, any Once the OSPF state machine has moved beyond the Init state, any
change in the B-bit advertised in subsequent Hello packets MUST NOT change in the B-bit advertised in subsequent Hello packets MUST NOT
result in any trigger in either the OSPF adjacency or the BFD session result in any trigger in either the OSPF adjacency or the BFD session
management (i.e., the B-bit is considered only when in Init state). management (i.e., the B-bit is considered only when in Init state).
Disabling BFD (or OSPF BFD strict-mode) on an OSPF interface would Disabling BFD (or OSPF BFD strict-mode) on an OSPF interface would
result in it not setting the B-bit in its subsequent Hello LLS result in it not setting the B-bit in the LLS Type 1 Extended Options
options. Disabling OSPF BFD strict-mode has no effect on BFD and Flags advertised in subsequent Hello packets. Disabling OSPF BFD
operations and would not result in bringing down of any established strict-mode has no effect on BFD operations and would not result in
BFD sessions. Disabling BFD would result in the BFD session being the bringing down of any established BFD sessions. Disabling BFD
brought down due to Admin reason [RFC5882] and hence would not bring would result in the BFD session being brought down due to AdminDown
down the OSPF adjacency. State (described in Section 3.2 of [RFC5882]); hence, it would not
bring down the OSPF adjacency.
When BFD is enabled on an interface over which we already have an When BFD is enabled on an interface over which we already have an
existing OSPF adjacency, it would result in the router setting the existing OSPF adjacency, it would result in the router setting the
B-bit in its subsequent Hello packets and initiation of BFD session B-bit in its subsequent Hello packets and the initiation of BFD
establishment to the neighbor. If the adjacency is already up (i.e., session establishment to the neighbor. If the adjacency is already
in its terminal state of Full or 2-way with non-DR routers on a up (i.e., in its terminal state of Full or 2-Way with routers that
multi-access interface) with a neighbor that also supports OSPF BFD are not designated routers on a multi-access interface) with a
strict-mode, then an implementation SHOULD NOT bring this adjacency neighbor that also supports OSPF BFD strict-mode, then an
down into the Init state to avoid disruption to routing operations implementation SHOULD NOT bring this adjacency down into the Init
and instead use the OSPF BFD strict-mode wait only after a transition state to avoid disruption to routing operations and instead use the
to Init state. However, if the adjacency is not up, then an OSPF BFD strict-mode wait only after a transition to Init state.
implementation MAY bring such an adjacency down so it can use the However, if the adjacency is not up, then an implementation MAY bring
OSPF BFD strict-mode for its adjacency establishment. such an adjacency down so it can use the OSPF BFD strict-mode for its
adjacency establishment.
4.1. OSPFv3 IPv4 Address-Family Specifics 4.1. OSPFv3 IPv4 AF Specifics
Multiple AF support in OSPFv3 [RFC5838] requires the use of an IPv6 Support for multiple AFs in OSPFv3 [RFC5838] requires the use of an
link-local address as the source address for Hello packets even when IPv6 link-local address as the source address for Hello packets, even
forming adjacencies for IPv4 AF instances. In most deployments of when forming adjacencies for IPv4 AF instances. In most deployments
OSPFv3 IPv4 AF, it is required that BFD is used to monitor and verify of OSPFv3 IPv4 AFs, it is required that BFD is used to monitor and
IPv4 data plane connectivity between the routers on the link and, verify IPv4 data plane connectivity between the routers on the link;
hence, the BFD session is setup using IPv4 neighbor addresses. The hence, the BFD session is set up using IPv4 neighbor addresses. The
IPv4 neighbor address on the interface is learned only later in the IPv4 neighbor address on the interface is learned only later in the
adjacency formation process when the neighbor's Link-LSA is received. adjacency formation process when the neighbor's Link-LSA (Link State
This results in the setup of the BFD IPv4 session either after the Advertisement) is received. This results in the setup of the BFD
adjacency is established or later in the adjacency formation IPv4 session either after the adjacency is established or later in
sequence. the adjacency formation sequence.
To operate in OSPF BFD strict-mode, it is necessary for an OSPF To operate in OSPF BFD strict-mode, it is necessary for an OSPF
router to learn its neighbor's IPv4 link address during the Init router to learn its neighbor's IPv4 link address during the Init
state of adjacency formation (ideally when it receives the first state of adjacency formation (ideally, when it receives the first
hello). The use of the Local Interface IPv4 Address TLV (as defined Hello). The use of the Local Interface IPv4 Address TLV (as defined
in Section 3) in the LLS block of OSPFv3 Hello packets for IPv4 AF in Section 3) in the LLS block advertised in OSPFv3 Hello packets for
instances makes this possible. Implementations that support OSPF BFD IPv4 AF instances makes this possible. Implementations that support
strict-mode for OSPFv3 IPv4 AF instances MUST include the Local OSPF BFD strict-mode for OSPFv3 IPv4 AF instances MUST include the
Interface IPv4 Address TLV in the LLS block of their Hello packets Local Interface IPv4 Address TLV in the LLS block advertised in their
whenever the B-bit is also set in the LLS Options and Flags field. A Hello packets whenever the B-bit is also set in the LLS Type 1
receiver MUST ignore the B-bit (i.e., not operate in strict mode for Extended Options and Flags. A receiver MUST ignore the B-bit (i.e.,
BFD) when the Local Interface IPv4 Address TLV is not present in not operate in strict-mode for BFD) when the Local Interface IPv4
OSPFv3 Hello messages for IPv4 AF OSPFv3 instances. Address TLV is not present in OSPFv3 Hello messages for OSPFv3 IPv4
AF instances.
4.2. Graceful Restart Considerations 4.2. Graceful Restart Considerations
An implementation needs to handle scenarios where both graceful An implementation needs to handle scenarios where both graceful
restart (GR) and the OSPF BFD strict-mode are deployed together. The restart (GR) and the OSPF BFD strict-mode are deployed together. The
GR aspects discussed in section 3.3 of [RFC5882] also apply with OSPF graceful restart aspects related to process restart scenarios
BFD strict-mode. Additionally, in OSPF BFD strict-mode, since the discussed in Section 3.3 of [RFC5882] also apply with OSPF BFD
OSPF adjacency formation is delayed until the BFD session strict-mode. Additionally, since the OSPF adjacency formation is
establishment, the resultant delay in adjacency formation may affect delayed until the BFD session establishment in OSPF BFD strict-mode,
or break the GR-based recovery. In such cases, it is RECOMMENDED the resultant delay in adjacency formation may affect or break the
that the GR timers are set such that they provide sufficient time to GR-based recovery. In such cases, it is RECOMMENDED that the GR
allow for normal BFD session establishment delays. timers are set such that they provide sufficient time to allow for
normal BFD session establishment delays.
5. Operations & Management Considerations 5. Operations and Management Considerations
An implementation SHOULD report the BFD session status along with the An implementation SHOULD report the BFD session status along with the
OSPF Init adjacency state when OSPF BFD strict-mode is enabled and OSPF Init adjacency state when OSPF BFD strict-mode is enabled and
support logging operations on neighbor state transitions that include support logging operations on neighbor state transitions that include
the BFD events. This allows an operator to detect scenarios where an the BFD events. This allows an operator to detect scenarios where an
OSPF adjacency may be stuck waiting for BFD session establishment. OSPF adjacency may be stuck waiting for BFD session establishment.
In network deployments with noisy or degraded links with intermittent In network deployments with noisy or degraded links with intermittent
packet loss, BFD sessions may flap resulting in OSPF adjacency flaps. packet loss, BFD sessions may flap, resulting in OSPF adjacency
This in turn may cause routing churn. The use of OSPF BFD strict- flaps. In turn, this may cause routing churn. The use of OSPF BFD
mode along with mechanisms such as hold-down (a delay in the initial strict-mode along with mechanisms such as hold-down (a delay in
OSPF adjacency bringup following BFD session establishment) and/or bringing up the initial OSPF adjacency following BFD session
dampening (a delay in the OSPF adjacency bringup following failure establishment) and/or dampening (a delay in bringing up the OSPF
detected by BFD) may help reduce the frequency of adjacency flaps and adjacency following failure detected by BFD) may help reduce the
therefore reduce the associated routing churn. The details of these frequency of adjacency flaps and therefore reduce the associated
mechanisms are outside the scope of this document. routing churn. The details of these mechanisms are outside the scope
of this document.
[I-D.ietf-ospf-yang] specifies the base OSPF YANG model. The [RFC9129] specifies the base OSPF YANG module. The required
required configuration and operational elements for this feature are configuration and operational elements for this feature are expected
expected to be introduce as augmentation to this base OSPF YANG to be introduced as augmentation to this base OSPF YANG module.
model.
6. Backward Compatibility 6. Backward Compatibility
An implementation MUST support OSPF adjacency formation and An implementation MUST support OSPF adjacency formation and
operations with a neighbor router that does not advertise the OSPF operations with a neighbor router that does not advertise the OSPF
BFD strict-mode capability - both when that neighbor router does not BFD strict-mode capability: both when that neighbor router does not
support BFD and when it does support BFD but does not signal the OSPF support BFD and when it does support BFD but does not signal the OSPF
BFD strict-mode as described in this document. Implementations MAY BFD strict-mode as described in this document. Implementations MAY
provide a local configuration option to force BFD operation only in provide a local configuration option to force BFD operation only in
OSPF BFD strict-mode (i.e, adjacency will not come up unless BFD OSPF BFD strict-mode (i.e, adjacency will not come up unless BFD
session is established). In this case, an OSPF adjacency with a session is established). In this case, an OSPF adjacency with a
neighbor that does not support OSPF BFD strict-mode would not be neighbor that does not support OSPF BFD strict-mode would not be
established successfully. Implementations MAY provide a local established successfully. Implementations MAY provide a local
configuration option to enable BFD without the OSPF BFD strict-mode configuration option to enable BFD without the OSPF BFD strict-mode,
which results in the router not advertising the B-bit and BFD which results in the router not advertising the B-bit and BFD
operation being performed in the same way as prior to this operation being performed in the same way as prior to this
specification. specification.
The signaling specified in this document happens at a link-local The signaling specified in this document happens at a link-local
level between routers on that link. A router that does not support level between routers on that link. A router that does not support
this specification would ignore the B-bit in the LLS block of Hello this specification would ignore the B-bit in the LLS block advertised
packets from its neighbors and continue to establish BFD sessions, if in Hello packets from its neighbors and continue to establish BFD
enabled, without delaying the OSPF adjacency formation. Since a sessions (if enabled) without delaying the OSPF adjacency formation.
router that does not support this specification would not have set Since a router that does not support this specification would not
the B-bit in the LLS block of its own Hello packets, its neighbor have set the B-bit in the LLS block advertised in its own Hello
routers supporting this specification would not use OSPF BFD strict- packets, its neighbor routers supporting this specification would not
mode with such OSPF routers. As a result, the behavior would be the use OSPF BFD strict-mode with such OSPF routers. As a result, the
same as without this specification. Therefore, there are no backward behavior would be the same as without this specification. Therefore,
compatibility issues or implementations considerations beyond what is there are no backward compatibility issues or implementation
specified herein. considerations beyond what is specified herein.
7. IANA Considerations 7. IANA Considerations
This specification makes the following updates under the "Open This specification makes the following updates under the "Open
Shortest Path First (OSPF) Link Local Signaling (LLS) - Type/Length/ Shortest Path First (OSPF) Link Local Signaling (LLS) - Type/Length/
Value Identifiers (TLV)" parameters. Value Identifiers (TLV)" parameters.
IANA is requested to make permanent the following values that have * In the "LLS Type 1 Extended Options and Flags" registry, the B-bit
been assigned via early allocation: has been assigned the bit position 0x00000010.
o In the "LLS Type 1 Extended Options and Flags" registry, the B-bit
is assigned the bit position 0x00000010
o In the "Link Local Signaling TLV Identifiers (LLS Types)" registry, * In the "Link Local Signaling TLV Identifiers (LLS Types)"
the Type 21 is assigned to the Local Interface IPv4 Address TLV registry, the Type 21 has been assigned to the Local Interface
IPv4 Address TLV.
8. Security Considerations 8. Security Considerations
The security considerations for "OSPF Link-Local Signaling" [RFC5613] The security considerations for "OSPF Link-Local Signaling" [RFC5613]
also apply to the extension described in this document. also apply to the extension described in this document.
Inappropriate use of the B-bit in the LLS block of an OSPF hello Inappropriate use of the B-bit in the LLS block of an OSPF Hello
message could prevent an OSPF adjacency from forming or lead to message could prevent an OSPF adjacency from forming or lead to the
failure to detect bidirectional forwarding failures. If failure of detecting bidirectional forwarding failures. If
authentication is being used in the OSPF routing domain authentication is being used in the OSPF routing domain [RFC5709]
[RFC5709][RFC7474], then the Cryptographic Authentication TLV [RFC7474], then the Cryptographic Authentication TLV [RFC5613] MUST
[RFC5613] MUST also be used to protect the contents of the LLS block. also be used to protect the contents of the LLS block.
9. Acknowledgements
The authors would like to acknowledge the review and inputs from Acee
Lindem, Manish Gupta, Balaji Ganesh, Les Ginsberg, Robert Raszuk,
Gyan Mishra, Muthu Arul Mozhi Perumal, Russ Housley, and Wes
Hardaker.
The authors would like to acknowledge Dylan van Oudheusden for
highlighting the problems in using OSPF BFD strict-mode for BFD
session for IPv4 AF instance with OSPFv3 and Baalajee S for his
suggestions on the approach to address it.
The authors would like to thank John Scudder for his AD review and
suggestions to improve the document.
10. References 9. References
10.1. Normative References 9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328,
DOI 10.17487/RFC2328, April 1998, DOI 10.17487/RFC2328, April 1998,
<https://www.rfc-editor.org/info/rfc2328>. <https://www.rfc-editor.org/rfc/rfc2328>.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
<https://www.rfc-editor.org/info/rfc5340>. <https://www.rfc-editor.org/rfc/rfc5340>.
[RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D. [RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D.
Yeung, "OSPF Link-Local Signaling", RFC 5613, Yeung, "OSPF Link-Local Signaling", RFC 5613,
DOI 10.17487/RFC5613, August 2009, DOI 10.17487/RFC5613, August 2009,
<https://www.rfc-editor.org/info/rfc5613>. <https://www.rfc-editor.org/rfc/rfc5613>.
[RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and [RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and
R. Aggarwal, "Support of Address Families in OSPFv3", R. Aggarwal, "Support of Address Families in OSPFv3",
RFC 5838, DOI 10.17487/RFC5838, April 2010, RFC 5838, DOI 10.17487/RFC5838, April 2010,
<https://www.rfc-editor.org/info/rfc5838>. <https://www.rfc-editor.org/rfc/rfc5838>.
[RFC5882] Katz, D. and D. Ward, "Generic Application of [RFC5882] Katz, D. and D. Ward, "Generic Application of
Bidirectional Forwarding Detection (BFD)", RFC 5882, Bidirectional Forwarding Detection (BFD)", RFC 5882,
DOI 10.17487/RFC5882, June 2010, DOI 10.17487/RFC5882, June 2010,
<https://www.rfc-editor.org/info/rfc5882>. <https://www.rfc-editor.org/rfc/rfc5882>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
10.2. Informative References
[I-D.ietf-ospf-yang] 9.2. Informative References
Yeung, D., Qu, Y., Zhang, J., Chen, I., and A. Lindem,
"YANG Data Model for OSPF Protocol", Work in Progress,
Internet-Draft, draft-ietf-ospf-yang-29, 17 October 2019,
<https://www.ietf.org/archive/id/draft-ietf-ospf-yang-
29.txt>.
[RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., [RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M.,
Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic
Authentication", RFC 5709, DOI 10.17487/RFC5709, October Authentication", RFC 5709, DOI 10.17487/RFC5709, October
2009, <https://www.rfc-editor.org/info/rfc5709>. 2009, <https://www.rfc-editor.org/rfc/rfc5709>.
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
<https://www.rfc-editor.org/info/rfc5880>. <https://www.rfc-editor.org/rfc/rfc5880>.
[RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883,
June 2010, <https://www.rfc-editor.org/info/rfc5883>. June 2010, <https://www.rfc-editor.org/rfc/rfc5883>.
[RFC6213] Hopps, C. and L. Ginsberg, "IS-IS BFD-Enabled TLV", [RFC6213] Hopps, C. and L. Ginsberg, "IS-IS BFD-Enabled TLV",
RFC 6213, DOI 10.17487/RFC6213, April 2011, RFC 6213, DOI 10.17487/RFC6213, April 2011,
<https://www.rfc-editor.org/info/rfc6213>. <https://www.rfc-editor.org/rfc/rfc6213>.
[RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed., [RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed.,
"Security Extension for OSPFv2 When Using Manual Key "Security Extension for OSPFv2 When Using Manual Key
Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, Management", RFC 7474, DOI 10.17487/RFC7474, April 2015,
<https://www.rfc-editor.org/info/rfc7474>. <https://www.rfc-editor.org/rfc/rfc7474>.
[RFC9129] Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem,
"YANG Data Model for the OSPF Protocol", RFC 9129,
DOI 10.17487/RFC9129, October 2022,
<https://www.rfc-editor.org/rfc/rfc9129>.
Acknowledgements
The authors would like to acknowledge the review and inputs from Acee
Lindem, Manish Gupta, Balaji Ganesh, Les Ginsberg, Robert Raszuk,
Gyan Mishra, Muthu Arul Mozhi Perumal, Russ Housley, and Wes
Hardaker.
The authors would like to acknowledge Dylan van Oudheusden for
highlighting the problems in using OSPF BFD strict-mode for BFD
sessions for OSPFv3 IPv4 AF instances and Baalajee S for his
suggestions on the approach to address it.
The authors would like to thank John Scudder for his AD review and
suggestions to improve the document.
Authors' Addresses Authors' Addresses
Ketan Talaulikar (editor) Ketan Talaulikar (editor)
Cisco Systems, Inc. Cisco Systems, Inc.
India India
Email: ketant.ietf@gmail.com Email: ketant.ietf@gmail.com
Peter Psenak Peter Psenak
Cisco Systems, Inc. Cisco Systems, Inc.
Apollo Business Center Apollo Business Center
Mlynske nivy 43 Mlynske nivy 43
821 09 Bratislava 821 09 Bratislava
Slovakia Slovakia
Email: ppsenak@cisco.com Email: ppsenak@cisco.com
Albert Fu Albert Fu
Bloomberg Bloomberg
 End of changes. 67 change blocks. 
226 lines changed or deleted 221 lines changed or added

This html diff was produced by rfcdiff 1.48.