draft-ietf-lsr-ospf-bfd-strict-mode-00.txt | draft-ietf-lsr-ospf-bfd-strict-mode-01.txt | |||
---|---|---|---|---|
Link State Routing K. Talaulikar | Link State Routing K. Talaulikar | |||
Internet-Draft P. Psenak | Internet-Draft P. Psenak | |||
Intended status: Standards Track Cisco Systems, Inc. | Intended status: Standards Track Cisco Systems, Inc. | |||
Expires: July 9, 2020 A. Fu | Expires: January 1, 2021 A. Fu | |||
Bloomberg | Bloomberg | |||
M. Rajesh | M. Rajesh | |||
Juniper Networks | Juniper Networks | |||
January 6, 2020 | June 30, 2020 | |||
OSPF Strict-Mode for BFD | OSPF Strict-Mode for BFD | |||
draft-ietf-lsr-ospf-bfd-strict-mode-00 | draft-ietf-lsr-ospf-bfd-strict-mode-01 | |||
Abstract | Abstract | |||
This document specifies the extensions to OSPF that enables a router | This document specifies the extensions to OSPF that enable an OSPF | |||
and its neighbor to signal their intention to use Bidirectional | router to signal the requirement for a Bidirectional Forwarding | |||
Forwarding Detection (BFD) for their adjacency using link-local | Detection (BFD) session prior to adjacency formation. Link-Local | |||
advertisement between them. The signaling of this BFD enablement, | Signaling (LLS) is used to advertise this requirement of "strict- | |||
allows the router to block and not allow the establishment of | mode" of BFD session establishment for OSPF adjacency. If both OSPF | |||
adjacency with its neighbor router until a BFD session is | neighbors advertise the "strict-mode" of BFD, adjacency formation | |||
successfully established between them. The document describes this | will be blocked until a BFD session has been successfully | |||
OSPF "strict-mode" of BFD establishment as a prerequisite to | established. | |||
adjacency formation. | ||||
Requirements Language | ||||
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 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
capitals, as shown here. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on July 9, 2020. | ||||
This Internet-Draft will expire on January 1, 2021. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | ||||
2. LLS B-bit Flag . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. LLS B-bit Flag . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Local Interface IPv4 Address TLV . . . . . . . . . . . . . . 4 | 3. Local Interface IPv4 Address TLV . . . . . . . . . . . . . . 3 | |||
4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
4.1. OSPFv3 IPv4 Address-Family Specifics . . . . . . . . . . 6 | 4.1. OSPFv3 IPv4 Address-Family Specifics . . . . . . . . . . 6 | |||
4.2. Graceful Restart Considerations . . . . . . . . . . . . . 6 | 4.2. Graceful Restart Considerations . . . . . . . . . . . . . 6 | |||
5. Operations & Management Considerations . . . . . . . . . . . 6 | 5. Operations & Management Considerations . . . . . . . . . . . 6 | |||
6. Backward Compatibility . . . . . . . . . . . . . . . . . . . 7 | 6. Backward Compatibility . . . . . . . . . . . . . . . . . . . 7 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 8 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 9 | 10.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
1. Introduction | 1. Introduction | |||
Bidirectional Forwarding Detection (BFD) [RFC5880] enables routers to | Bidirectional Forwarding Detection (BFD) [RFC5880] enables routers to | |||
monitor dataplane connectivity over links between them and to detect | monitor dataplane connectivity and to detect faults in the | |||
faults in the bidirectional path between them. This capability is | bidirectional path between them. BFD is leveraged by routing | |||
leveraged by routing protocols like Open Shortest Path First (OSPFv2) | protocols like OSPFv2[RFC2328] and OSPFv3 [RFC5340] to detect | |||
[RFC2328] and OSPFv3 [RFC5340] to detect connectivity failures for | connectivity failures for established adjacencies and trigger the | |||
their adjacencies and trigger the rerouting of traffic around this | rerouting of traffic around the failure more quickly than with OSPF | |||
failure more quickly than their periodic hello messaging based | hello packet monitoring. | |||
detection mechanism. | ||||
The use of BFD for monitoring routing protocols adjacencies is | The use of BFD for monitoring routing protocols adjacencies is | |||
described in [RFC5882]. When BFD monitoring is enabled for OSPF | described in [RFC5882]. When BFD monitoring is enabled for OSPF | |||
adjacencies, the BFD session is bootstrapped based on the neighbor | adjacencies, the BFD session is bootstrapped based on the neighbor | |||
address information discovered by the exchange of OSPF hello | address information discovered by the exchange of OSPF hello packets. | |||
messages. Faults in the bidirectional forwarding detected via BFD | Faults in the bidirectional forwarding detected via BFD then result | |||
then result in the bringing down of the OSPF adjacency. Note that it | in the OSPF adjacency being brought down. Note that it is possible | |||
is possible in some failure scenarios for the network to be in a | in some failure scenarios for the network to be in a state such that | |||
state such that the OSPF adjacency is capable of coming up, but the | an OSPF adjacency can be established but a BFD session cannot be | |||
BFD session cannot be established, and, more particularly, data | established and maintained. In certain other scenarios, a degraded | |||
cannot be forwarded. In certain other scenarios, a degraded or poor | or poor quality link may result in OSPF adjacency formation to | |||
quality link may result in OSPF adjacency formation to succeed only | succeed only to result in BFD session establishment not being | |||
to result in BFD session establishment not being successful or the | successful or flapping of the BFD session. | |||
BFD session going down frequently due to its faster detection | ||||
mechanism. | ||||
To avoid such situations which result in routing churn in the | To avoid the routing churn associated with these scenarios, it would | |||
network, it would be beneficial not to allow OSPF to establish a | be beneficial to not allow OSPF to establish an adjacency until a BFD | |||
neighbor adjacency until the BFD session is successfully established | session is successfully established and has stabilized. However, | |||
and stabilized. However, this would preclude the OSPF operation in | this would preclude the OSPF operation in an environment in which not | |||
an environment in which not all OSPF routers support BFD and are | all OSPF routers support BFD and are enabled for BFD on the link. A | |||
enabled for BFD monitoring. A solution would be to block the | solution is to block OSPF adjacency establishment until a BFD session | |||
establishment of OSPF adjacencies if both systems are willing to | is established as long as both neighbors advertise such a | |||
establish a BFD session but a BFD session cannot be established. | requirement. Such a mode of OSPF BFD usage is referred to as | |||
Such a mode of BFD use by OSPF is referred to as "strict-mode" | "strict-mode". | |||
wherein BFD session establishment becomes a prerequisite for OSPF | ||||
adjacency coming up. | ||||
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 establish a BFD session in the "strict-mode". It | the willingness to establish a BFD session in the "strict-mode". It | |||
also introduces an extension for OSPFv3 link-local signaling of | also introduces an extension for OSPFv3 link-local signaling of | |||
interface IPv4 address when used for IPv4 address-family (AF) | interface IPv4 address when used for IPv4 address-family (AF) | |||
instance to enable discovery of the IPv4 addresses for BFD session | instance to enable discovery of the IPv4 addresses for BFD session | |||
setup. | setup. | |||
A similar functionality for IS-IS is specified [RFC6213]. | A similar functionality for IS-IS is specified [RFC6213]. | |||
1.1. Requirements Language | ||||
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 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
capitals, as shown here. | ||||
2. LLS B-bit Flag | 2. LLS B-bit Flag | |||
A new B-bit is defined in the LLS Type 1 Extended Options and Flags | This document defines the B-bit in the LLS Type 1 Extended Options | |||
field. This bit is defined for the LLS block included in Hello | and Flags field. This bit is defined for the LLS block included in | |||
packets and indicates that BFD is enabled on the link and that the | Hello packets and indicates that BFD is enabled on the link and that | |||
router supports BFD strict-mode. Section 7 describes the position of | the router requests BFD strict-mode. Section 7 describes the | |||
this new B-bit. | position of the B-bit. | |||
A router MUST include the LLS block with the LLS Type 1 Extended | A router MUST include the LLS block with the LLS Type 1 Extended | |||
Options and Flags TLV with the B-bit set its Hello messages when BFD | Options and Flags TLV with the B-bit set its Hello messages when BFD | |||
is enabled on the link. | is enabled on the link. | |||
3. Local Interface IPv4 Address TLV | 3. Local Interface IPv4 Address TLV | |||
The Local Interface IPv4 Address TLV is a new LLS TLV meant for | The Local Interface IPv4 Address TLV is an LLS TLV meant for OSPFv3 | |||
OSPFv3 protocol operations for IPv4 AF instances [RFC5838]. It has | protocol operations for IPv4 AF instances [RFC5838]. It has | |||
following format: | 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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 4, line 31 ¶ | skipping to change at page 4, line 25 ¶ | |||
Type: TBD, suggested value 21 | Type: TBD, suggested value 21 | |||
Length: 4 octet | Length: 4 octet | |||
Local Interface IPv4 Address: The primary IPv4 address of the | Local Interface IPv4 Address: The primary IPv4 address of the | |||
local interface. | local interface. | |||
4. Procedures | 4. Procedures | |||
A router supporting BFD strict-mode advertises this capability | A router supporting BFD strict-mode advertises this capability | |||
through its hello messages as described in Section 2 above. When a | through its hello messages as described in Section 2. When a router | |||
router supporting BFD strict-mode, detects a new neighbor router that | supporting BFD strict-mode discovers a new neighbor router that also | |||
also supports BFD strict-mode, then it proceeds to establish | supports BFD strict-mode, then it will establish a BFD session first | |||
adjacency with that neighbor as described further in this section. | with that neighbor before bringing up the OSPF adjacency as 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 as | [RFC2328]. Specifically, the operations related to the Init state as | |||
below when BFD strict-mode is used: | below when BFD strict-mode is used: | |||
Init (without BFD strict-mode) | Init (without BFD strict-mode) | |||
In this state, an Hello packet has recently been seen 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 BFD strict-mode) | Init (with BFD strict-mode) | |||
In this state, an Hello packet has recently been seen from the | In this state, an 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). A BFD session | appear in the neighbor's Hello packet). A BFD session | |||
establishment to the neighbor is requested, if not already done | establishment to the neighbor is requested, if not already done | |||
(e.g. in the event of transition from 2-way state). All neighbors | (e.g. in the event of transition from 2-way state). Neighbors in | |||
in higher than Init state and those in Init state with BFD session | Init state or higher will be listed in the Hello packets | |||
up are listed in the Hello packets sent from the associated | associated with the interface if they either have a corresponding | |||
interface. | BFD session established or have not advertised "strict-mode" BFD | |||
in the Hello packet LLS Extended Options and Flags. | ||||
Whenever the neighbor state transitions to Down state, the removal of | Whenever the neighbor state transitions to Down state, the removal of | |||
the BFD session associated with that neighbor SHOULD be requested by | the BFD session associated with that neighbor SHOULD be requested by | |||
OSPF and the session re-setup SHOULD similarly be requested by OSPF | OSPF and subsequent BFD session establishement SHOULD similarly be | |||
after transitioning into Init state. This may result in the deletion | requested by OSPF upon transitioning into Init state. This may | |||
and creation of BFD session respectively when OSPF is the only client | result in the deletion and creation of the BFD session respectively | |||
interested in BFD session to the neighbor address. | when OSPF is the only client interested in the BFD session to the | |||
neighbor 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 BFD strict-mode is enabled on the router and the | state unless BFD strict-mode is enabled on the router and the | |||
specific neighbor indicates BFD strict-mode capability via its Hello | specific neighbor indicates BFD strict-mode capability via its Hello | |||
messages. When BFD is enabled, but the strict-mode of operation | LLS options. When BFD is enabled, but the strict-mode of operation | |||
cannot be used, then an implementation SHOULD start the BFD session | has not be signaled by both neighbors, then an implementation SHOULD | |||
establishment only in 2-Way or higher state. This makes it possible | start the BFD session establishment only in 2-Way state or higher | |||
for router to operate a mix of BFD operation in strict-mode or normal | state. This makes it possible for an OSPF router to operate a mix of | |||
mode across different interfaces or even different neighbors on the | BFD operation in strict-mode or normal mode across different | |||
same multi-access LAN interface. | interfaces or even different neighbors on the same multi-access LAN | |||
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 messages MUST NOT | change in the B-bit advertised in subsequent Hello messages 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 the Init | management (i.e., the B-bit is considered only when in the Init | |||
state). The disabling of BFD (or BFD strict-mode) on a router would | state). Disabling BFD (or BFD strict-mode) on an OSPF router would | |||
result in its not setting the B-bit in its subsequent Hello messages. | result in it not setting the B-bit in its subsequent Hello LLS | |||
The disabling of BFD strict-mode has no change on the BFD operations | options. Disabling BFD strict-mode has no effect on the BFD | |||
and would not result in bringing down of any established BFD session. | operations and would not result in bringing down of any established | |||
The disabling of BFD would result in the BFD session brought down due | BFD session. Disabling BFD would result in the BFD session brought | |||
to Admin reason and hence would not bring down the OSPF adjacency. | down due to Admin reason and hence 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 messages. If the adjacency is already | B-bit in its subsequent Hello messages. If the adjacency is already | |||
up (i.e. in its terminal state of Full or 2-way with non-DR routers | up (i.e., in its terminal state of Full or 2-way with non-DR routers | |||
on a LAN) with a neighbor that also support BFD strict-mode, then an | on a LAN) with a neighbor that also supports BFD strict-mode, then an | |||
implemantion SHOULD NOT bring this adjacency down and instead use the | implemantion SHOULD NOT bring this adjacency down but instead use the | |||
BFD strict-mode of operations after the next transition into Init | BFD strict-mode of operation after the next transition into Init | |||
state. However, if the adjacency is not up, then an implementation | state. However, if the adjacency is not up, then an implementation | |||
MAY bring such an adjacency down so it can use the BFD strict-mode | MAY bring such an adjacency down so it can use the BFD strict-mode | |||
for its bring up. | for its bring up. | |||
4.1. OSPFv3 IPv4 Address-Family Specifics | 4.1. OSPFv3 IPv4 Address-Family Specifics | |||
The multiple AF support in OSPFv3 [RFC5838] requires the use of IPv6 | Multiple AF support in OSPFv3 [RFC5838] requires the use of an IPv6 | |||
link-local address as source address for hello packets even when | link-local address as the source address for hello packets even when | |||
forming adjacencies for IPv4 AF instances. In most deployments of | forming adjacencies for IPv4 AF instances. In most deployments of | |||
OSPFv3 IPv4 AF, it is required that BFD be used to monitor and verify | OSPFv3 IPv4 AF, it is required that BFD is used to monitor and verify | |||
the IPv4 data plane connectivity between the routers on the link and | the IPv4 data plane connectivity between the routers on the link and, | |||
hence the BFD session is setup using IPv4 neighbor addresses. The | hence, the BFD session is setup using IPv4 neighbor addresses. The | |||
IPv4 neighbor address on the interface is learnt only later in the | IPv4 neighbor address on the interface is learnt only later in the | |||
adjacency formation phase when the neighbor's Link-LSA is received. | adjacency formation process when the neighbor's Link-LSA is received. | |||
This results in the setup of the BFD session either after the | This results in the setup of the BFD session either after the | |||
adjacency is established or much later in the adjacency formation | adjacency is established or later in the adjacency formation | |||
sequence. | sequence. | |||
To enable the BFD operations in strict-mode, it is necessary for a | To enable BFD operation in strict-mode, it is necessary for an OSPF | |||
router to learn it's neighbor's IPv4 link address during the Init | router to learn it's 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 the OSPFv3 Hello messages for IPv4 | in Section 3) in the LLS block of the OSPFv3 Hello messages for IPv4 | |||
AF instances makes this possible. Implementations that support | AF instances makes this possible. Implementations that support | |||
strict-mode of BFD operations for OSPFv3 IPv4 AF instances MUST | strict-mode of BFD operation for OSPFv3 IPv4 AF instances MUST | |||
include the Local Interface IPv4 Address TLV in the LLS block of | include the Local Interface IPv4 Address TLV in the LLS block of | |||
their hello messages whenever the B-bit is set. A receiver MUST | their hello messages whenever the B-bit is also set in the LLS | |||
ignore the B-bit (i.e. not operate in BFD strict mode) unless the | Options and Flags field. A receiver MUST ignore the B-bit (i.e., not | |||
Local Interface IPv4 Address TLV is present in OSPFv3 Hello message | operate in BFD strict mode) when the Local Interface IPv4 Address TLV | |||
for IPv4 AF instances. | is not present in OSPFv3 Hello message for IPv4 AF OSPFv3 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 strict-mode of BFD operations are deployed | restart (GR) and the strict-mode of BFD operation are deployed | |||
together. The GR aspects discussed in [RFC5882] also apply with | together. The GR aspects discussed in [RFC5882] also apply with | |||
strict-mode of operations. In addition to that, since the OSPF | strict-mode of BFD operation. Additionally, in strict-mode of BFD | |||
adjacency formation is held up until the BFD session establishment in | operation, since the OSPF adjacency formation is delayed until the | |||
the strict-mode of operation, the resultant delay in adajcency | BFD session establishment, the resultant delay in adajcency formation | |||
formation may affect or break the GR based recovery. In such cases, | may affect or break the GR-based recovery. In such cases, it is | |||
it is RECOMMENDED that the GR timers are setup such that they provide | RECOMMENDED that the GR timers are set such that they provide | |||
sufficient time to cover for normal BFD session establishment delays. | sufficient time to allow for normal BFD session establishment delays. | |||
5. Operations & Management Considerations | 5. Operations & 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 operating in BFD strict-mode and | OSPF Init adjacency state when operating in BFD strict-mode and | |||
perform logging operations on state transitions to include the BFD | perform logging operations on state transitions to include the BFD | |||
events. This allows an operator to detect scenarios where an OSPF | events. This allows an operator to detect scenarios where an OSPF | |||
adjacency may be stuck waiting for BFD session establishment. | adjacency may be stuck waiting for BFD session establishment. | |||
In network deployments with noisy links or those with packet loss, | In network deployments with noisy links or those with packet loss, | |||
BFD sessions may flap frequently. In such scenarions, OSPF strict- | BFD sessions may flap frequently. In such scenarions, OSPF strict- | |||
mode for BFD may be deployed in conjunction with an BFD dampening or | mode for BFD may be deployed in conjunction with a BFD dampening or | |||
hold-down mechanism to help avoid frequent adjacency flaps due BFD | hold-down mechanism to help avoid frequent adjacency flaps that cause | |||
causing routing churn. | routing churn. | |||
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 BFD | operations with a neighbor router that does not advertise the BFD | |||
strict-mode capability - both when that neighbor router does not | strict-mode capability - both when that neighbor router does not | |||
support BFD and when it does support BFD but not in the strict-mode | support BFD and when it does support BFD but not in the strict-mode | |||
of operation as described in this document. Implementations MAY | of operation as described in this document. Implementations MAY | |||
provide an option to specifically enable BFD operations only in the | provide an option to specifically enable BFD operations only in the | |||
strict-mode in which case, OSPF adjacency with a neighbor that does | strict-mode. In this case, an OSPF adjacency with a neighbor that | |||
not support BFD strict-mode would not be established successfully. | does not support BFD strict-mode would not be established | |||
Implementations MAY provide an option to disable BFD strict-mode | successfully. Implementations MAY provide an option to disable BFD | |||
which results in the router not advertising the B-bit and BFD | strict-mode which results in the router not advertising the B-bit and | |||
operations being performed in the same way as before this | BFD operations 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 which 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 of hello | |||
messages from its neighbors and continue to bootstrap BFD sessions, | messages from its neighbors and continue to establish BFD sessions, | |||
if enabled, without holding back the OSPF adjacency formation. Since | if enabled, without delaying the OSPF adjacency formation. Since the | |||
the router which does not support this specification would not have | router that does not support this specification would not have set | |||
set the B-bit in the LLS block of its own hello messages, its | the B-bit in the LLS block of its own hello messages, its neighbor | |||
neighbor routers that support this specification would not use BFD | routers that support this specification would not use BFD strict-mode | |||
strict-mode with it. As a result, the behavior would be the same as | with such OSPF routers. As a result, the behavior would be the same | |||
before this specification. Therefore, there are no backward | as before this specification. Therefore, there are no backward | |||
compatibility related issues or considerations that need to be taken | compatibility issues or implementations considerations beyond what is | |||
care of when implementing this specification. | specified herein. | |||
7. IANA Considerations | 7. IANA Considerations | |||
This specification updates Link Local Signaling TLV Identifiers | This specification updates Link Local Signaling TLV Identifiers | |||
registry. | registry. | |||
Following values are requested for allocation: | Following values are requested for allocation: | |||
o B-bit from "LLS Type 1 Extended Options and Flags" registry at bit | o B-bit from "LLS Type 1 Extended Options and Flags" registry at bit | |||
position 0x00000010. | position 0x00000010. | |||
skipping to change at page 8, line 20 ¶ | skipping to change at page 8, line 20 ¶ | |||
message could prevent an OSPF adjacency from forming or lead to | message could prevent an OSPF adjacency from forming or lead to | |||
failure to detect bidirectional forwarding failures. If | failure to detect bidirectional forwarding failures. If | |||
authentication is being used in the OSPF routing domain | authentication is being used in the OSPF routing domain | |||
[RFC5709][RFC7474], then the Cryptographic Authentication TLV | [RFC5709][RFC7474], then the Cryptographic Authentication TLV | |||
[RFC5613] SHOULD also be used to protect the contents of the LLS | [RFC5613] SHOULD also be used to protect the contents of the LLS | |||
block. | block. | |||
9. Acknowledgements | 9. Acknowledgements | |||
The authors would like to acknowledge the review and inputs from Acee | The authors would like to acknowledge the review and inputs from Acee | |||
Lindem, Manish Gupta, Balaji Ganesh and Rajesh M. | Lindem, Manish Gupta and Balaji Ganesh. | |||
The authors would like to acknowledge Dylan van Oudheusden for | The authors would like to acknowledge Dylan van Oudheusden for | |||
highlighting the problems in using strict-mode for BFD session for | highlighting the problems in using strict-mode for BFD session for | |||
IPv4 AF instance with OSPFv3 and Baalajee S for his suggestions on | IPv4 AF instance with OSPFv3 and Baalajee S for his suggestions on | |||
the approach to address it. | the approach to address it. | |||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
End of changes. 36 change blocks. | ||||
129 lines changed or deleted | 130 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |