rfc9384.original.xml | rfc9384.xml | |||
---|---|---|---|---|
<?xml version='1.0' encoding='utf-8'?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!-- [CS] updated by Chris 02/02/23 --> | ||||
<!-- draft submitted in xml v3 --> | ||||
<!DOCTYPE rfc [ | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | <!ENTITY nbsp " "> | |||
<!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
<!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
<!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
]> | ]> | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | ||||
<!-- used by XSLT processors --> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-idr-bfd-subc | |||
<!-- OPTIONS, known as processing instructions (PIs) go here. --> | ode-05" number="9384" submissionType="IETF" category="std" consensus="true" ipr= | |||
<!-- For a complete list and description of PIs, | "trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" tocDepth=" | |||
please see http://xml.resource.org/authoring/README.html. --> | 3" symRefs="true" sortRefs="true" version="3"> | |||
<!-- Below are generally applicable PIs that most I-Ds might want to use. --> | ||||
<?rfc strict="yes" ?> | ||||
<!-- give errors regarding ID-nits and DTD validation --> | ||||
<!-- control the table of contents (ToC): --> | ||||
<?rfc toc="yes"?> | ||||
<!-- generate a ToC --> | ||||
<?rfc tocdepth="3"?> | ||||
<!-- the number of levels of subsections in ToC. default: 3 --> | ||||
<!-- control references: --> | ||||
<?rfc symrefs="yes"?> | ||||
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> | ||||
<?rfc sortrefs="yes" ?> | ||||
<!-- sort the reference entries alphabetically --> | ||||
<!-- control vertical white space: | ||||
(using these PIs as follows is recommended by the RFC Editor) --> | ||||
<?rfc compact="yes" ?> | ||||
<!-- do not start each main section on a new page --> | ||||
<?rfc subcompact="no" ?> | ||||
<!-- keep one blank line between list items --> | ||||
<!-- end of popular PIs --> | ||||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ie | ||||
tf-idr-bfd-subcode-05" ipr="trust200902" obsoletes="" updates="" submissionType= | ||||
"IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="tru | ||||
e" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.12.0 --> | <!-- xml2rfc v2v3 conversion 3.12.0 --> | |||
<front> | <front> | |||
<title abbrev="BGP Cease Notification Subcode for BFD">A BGP Cease Notificat | <title abbrev="BGP Cease NOTIFICATION Subcode for BFD">A BGP Cease NOTIFICAT | |||
ion Subcode For Bidirectional Forwarding Detection (BFD)</title> | ION Subcode for Bidirectional Forwarding Detection (BFD)</title> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-idr-bfd-subcode-05"/> | ||||
<seriesInfo name="RFC" value="9384"/> | ||||
<author fullname="Jeffrey Haas" initials="J" surname="Haas"> | <author fullname="Jeffrey Haas" initials="J" surname="Haas"> | |||
<organization>Juniper Networks</organization> | <organization>Juniper Networks</organization> | |||
<address> | <address> | |||
<email>jhaas@juniper.net</email> | <email>jhaas@juniper.net</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2022"/> | <date year="2023" month="March" /> | |||
<area/> | <area>rtg</area> | |||
<workgroup>Inter-Domain Routing</workgroup> | <workgroup>idr</workgroup> | |||
<!-- <keyword/> --> | ||||
<abstract> | <abstract> | |||
<t> | <t> | |||
The Bidirectional Forwarding Detection (BFD) protocol [RFC 5880] is used to detect | The Bidirectional Forwarding Detection (BFD) protocol (RFC 5880) is used to detect | |||
loss of connectivity between two forwarding engines, typically with | loss of connectivity between two forwarding engines, typically with | |||
low latency. BFD is leveraged by routing protocols, including the | low latency. BFD is leveraged by routing protocols, including the | |||
Border Gateway Protocol (BGP), to bring down routing protocol | Border Gateway Protocol (BGP), to bring down routing protocol | |||
connections faster than the native protocol timers. | connections more quickly than the original protocol timers. | |||
</t> | </t> | |||
<t> | <t> | |||
This document defines a Subcode for the BGP Cease NOTIFICATION message | This document defines a subcode for the BGP Cease NOTIFICATION message | |||
<xref target="RFC4271" format="default" sectionFormat="comma" section="6. | (Section 6.7 of RFC 4271) for use when a BGP connection is being closed d | |||
7"/>, | ue to a BFD session going | |||
for when a BGP connection is being closed due to a BFD session going | ||||
down. | down. | |||
</t> | </t> | |||
</abstract> | </abstract> | |||
<note> | ||||
<name>Requirements Language</name> | ||||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
"OPTIONAL" in this document are to be interpreted as described in BCP 14 | ||||
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, | ||||
they appear in all capitals, as shown here.</t> | ||||
</note> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Introduction</name> | <name>Introduction</name> | |||
<t> | <t> | |||
The Bidirectional Forwarding Detection (BFD) protocol <xref target="RFC5 880" format="default"/> is used to detect loss of connectivity between two | The Bidirectional Forwarding Detection (BFD) protocol <xref target="RFC5 880" format="default"/> is used to detect loss of connectivity between two | |||
forwarding engines, typically with low latency. BFD is utilized as a | forwarding engines, typically with low latency. BFD is utilized as a | |||
service for various clients, including routing protocols, to provide an | service for various clients, including routing protocols, to provide an | |||
advisory mechanism for those clients to take appropriate actions when a BFD session | advisory mechanism for those clients to take appropriate actions when a BFD session | |||
goes down <xref target="RFC5882" format="default"/>. This is typically used by the | goes down <xref target="RFC5882" format="default"/>. This is typically used by the | |||
clients to trigger closure of their connections more quickly than the | clients to trigger closure of their connections more quickly than the | |||
native protocol timers might allow. | original protocol timers might allow. | |||
</t> | </t> | |||
<t> | <t> | |||
The Border Gateway Protocol, Version 4 (BGP) <xref target="RFC4271" form at="default"/> | Border Gateway Protocol version 4 (BGP-4) <xref target="RFC4271" format= "default"/> | |||
terminates its connections upon Hold Timer expiration when the speaker d oes | terminates its connections upon Hold Timer expiration when the speaker d oes | |||
not receive a BGP message within the negotiated Hold Time interval. | not receive a BGP message within the negotiated Hold Time interval. | |||
As per Section 4.2 and Section 4.4 of <xref target="RFC4271"/>, the mini | As per Sections <xref target="RFC4271" section="4.2" | |||
mum Hold Time | sectionFormat="bare"/> and <xref target="RFC4271" section="4.4" | |||
sectionFormat="bare"/> of <xref target="RFC4271"/>, the minimum Hold Time | ||||
interval is at least three seconds, unless KEEPALIVE processing has | interval is at least three seconds, unless KEEPALIVE processing has | |||
been disabled by negotiating the distinguished Hold Time of zero. | been disabled by negotiating the distinguished Hold Time of zero. | |||
</t> | </t> | |||
<t> | <t> | |||
If a BGP speaker desires to have its connections terminate more quickly | If a BGP speaker desires to have its connections terminate more quickly | |||
than the negotiated BGP Hold Timer can accommodate upon loss of | than the negotiated BGP Hold Timer can accommodate upon loss of | |||
connectivity with a neighbor, the BFD protocol can be relied upon by BGP speakers | connectivity with a neighbor, the BFD protocol can be relied upon by BGP speakers | |||
to supply that faster detection. When the BFD session state | to supply that faster detection. When the BFD session state | |||
changes to Down, the BGP speaker terminates the connection with a | changes to Down, the BGP speaker terminates the connection with a | |||
Cease NOTIFICATION message sent to the neighbor, if possible, and then c loses | Cease NOTIFICATION message sent to the neighbor, if possible, and then c loses | |||
the TCP connection for the session. | the TCP connection for the session. | |||
</t> | </t> | |||
<t> | <t> | |||
This document defines a subcode, "BFD Down", to be sent with the Cease | This document defines a subcode, "BFD Down", to be sent with the Cease | |||
NOTIFICATION message that indicates the reason for this type of | NOTIFICATION message that indicates the reason for this type of | |||
connection termination. | connection termination. | |||
</t> | </t> | |||
</section> | </section> | |||
<section> | ||||
<name>Requirements Language</name> | ||||
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | ||||
"<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", | ||||
"<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", | ||||
"<bcp14>SHOULD NOT</bcp14>", | ||||
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document | ||||
are to be interpreted as described in BCP 14 | ||||
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only | ||||
when, they appear in all capitals, as shown here.</t> | ||||
</section> | ||||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>BFD Cease NOTIFICATION Subcode</name> | <name>BFD Cease NOTIFICATION Subcode</name> | |||
<t> | <t> | |||
The value 10 has been allocated by IANA for the "BFD Down" Cease | The value 10 has been allocated by IANA for the "BFD Down" Cease | |||
NOTIFICATION message Subcode. | NOTIFICATION message subcode. | |||
</t> | </t> | |||
<t> | <t> | |||
When a BGP connection is terminated due to a BFD session going into the | When a BGP connection is terminated due to a BFD session going into the | |||
Down state, the BGP speaker SHOULD send a NOTIFICATION message with the | Down state, the BGP speaker <bcp14>SHOULD</bcp14> send a NOTIFICATION me | |||
Error Code Cease and the Error Subcode "BFD Down". | ssage with the | |||
error code "Cease" and the error subcode "BFD Down". | ||||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Operational Considerations</name> | <name>Operational Considerations</name> | |||
<t> | <t> | |||
A BFD session may go Down when there is only a partial loss of | A BFD session may go into the Down state when there is only a partial lo ss of | |||
connectivity between two BGP speakers. Operators using BFD for their | connectivity between two BGP speakers. Operators using BFD for their | |||
BGP connections make choices for what BFD timers are used based upon a | BGP connections make choices regarding what BFD timers are used based up | |||
variety of criteria; for example, stability vs. fast failure. | on a | |||
variety of criteria -- for example, stability vs. fast failure. | ||||
</t> | </t> | |||
<t> | <t> | |||
In the event of a BGP connection being terminated due to a BFD Down even t | In the event of a BGP connection being terminated due to a "BFD Down" ev ent | |||
from partial loss of connectivity as detected by BFD, the remote BGP | from partial loss of connectivity as detected by BFD, the remote BGP | |||
speaker might be able to receive a BGP Cease NOTIFICATION message with t he | speaker might be able to receive a BGP Cease NOTIFICATION message with t he | |||
BFD Down Subcode. The receiving BGP speaker will then have an | "BFD Down" subcode. The receiving BGP speaker will then have an | |||
understanding that the connection is being terminated because of a | understanding that the connection is being terminated because of a | |||
BFD-detected issue and not an issue with the BGP speaker. | BFD-detected issue and not an issue with the BGP speaker. | |||
</t> | </t> | |||
<t> | <t> | |||
When there is a total loss of connectivity between two BGP speakers, it | When there is a total loss of connectivity between two BGP speakers, it | |||
may not have been possible for the Cease NOTIFICATION message to have be en sent. | may not have been possible for the Cease NOTIFICATION message to have be en sent. | |||
Even so, BGP speakers SHOULD provide this reason as part of their | Even so, BGP speakers <bcp14>SHOULD</bcp14> provide this reason as part | |||
operational state. Examples include bgpPeerLastError in the BGP MIB | of their | |||
<xref target="RFC4273" format="default"/>, and "last-error" in | operational state. Examples include bgpPeerLastError per the BGP MIB | |||
<xref target="RFC4273" format="default"/> and "last-error" per | ||||
<xref target="I-D.ietf-idr-bgp-model"/>. | <xref target="I-D.ietf-idr-bgp-model"/>. | |||
</t> | </t> | |||
<t> | <t> | |||
When the procedures in <xref target="RFC8538" format="default"/> for sen ding a | When the procedures in <xref target="RFC8538" format="default"/> for sen ding a | |||
NOTIFICATION message with a Cease Code and Hard Reset Subcode are requir | NOTIFICATION message with a "Cease" code and "Hard Reset" subcode are re | |||
ed, and the | quired, and the | |||
BGP connection is being terminated because BFD has gone Down, the BFD Do | BGP connection is being terminated because BFD has gone into the Down st | |||
wn | ate, the "BFD Down" | |||
Subcode SHOULD be encapsulated in the Hard Reset's data portion of the | subcode <bcp14>SHOULD</bcp14> be encapsulated in the Hard Reset's data p | |||
ortion of the | ||||
NOTIFICATION message. | NOTIFICATION message. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Security Considerations</name> | <name>Security Considerations</name> | |||
<t> | <t> | |||
Similar to <xref target="RFC4486"/>, this document defines a subcode | Similar to <xref target="RFC4486"/>, this document defines a subcode | |||
for the BGP Cease NOTIFICATION message that provides information to aid | for the BGP Cease NOTIFICATION message that provides information to aid | |||
network operators in correlating network events and diagnosing BGP | network operators in correlating network events and diagnosing BGP | |||
peering issues. This subcode is purely informational and has no impact | peering issues. This subcode is purely informational and has no impact | |||
on the BGP Finite State Machine beyond that already documented by | on the BGP Finite State Machine beyond that already documented by | |||
<xref target="RFC4271" format="default" sectionFormat="comma" section="6. | <xref target="RFC4271"/>, Sections <xref target="RFC4271" section=" | |||
7"/>. | 6.6" sectionFormat="bare"/> and <xref target="RFC4271" section="6.7" | |||
sectionFormat="bare"/>. | ||||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
<t>NOTE TO IANA and the RFC Editor: IANA is requested to make the | ||||
temporary allocation below permanent. The RFC Editor is requested to | ||||
delete this note to IANA prior to publication. | ||||
</t> | ||||
<t> | <t> | |||
IANA has assigned the value 10 from the | IANA has assigned the value 10 from the | |||
<eref target="https://www.iana.org/assignments/bgp-parameters/bgp-paramet | <eref target="https://www.iana.org/assignments/bgp-parameters/" brackets= | |||
ers.xhtml#bgp-parameters-8"> | "none"> | |||
BGP Cease NOTIFICATION message subcodes registry | "BGP Cease NOTIFICATION message subcodes" registry | |||
</eref> | </eref>, | |||
with the Name "BFD Down", and a Reference to this document. | with the name "BFD Down" and a reference to this document. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>Acknowledgments</name> | ||||
<t>Thanks to Jeff Tantsura, and Dale Carder for their comments on the draf | ||||
t.</t> | ||||
<t>Mohamed Boucadair provided feedback as part of Routing Directorate | ||||
review of this document.</t> | ||||
<t>Bruno Rijsman had a substantively similar proposal to this document in | ||||
2006; draft-rijsman-bfd-down-subcode. That draft did not progress in I | ||||
DR | ||||
at that time. The author of this draft was unaware of Bruno's prior wo | ||||
rk | ||||
when creating this proposal. | ||||
</t> | ||||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<displayreference target="I-D.ietf-idr-bgp-model" to="BGP-YANG"/> | ||||
<references> | <references> | |||
<name>References</name> | <name>References</name> | |||
<references> | <references> | |||
<name>Normative References</name> | <name>Normative References</name> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.2119.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.2119.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.4271.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.4271.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.5880.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.5880.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.5882.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.5882.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.8174.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.8174.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.8538.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.8538.xml"/> | |||
</references> | </references> | |||
<references> | <references> | |||
<name>Informative References</name> | <name>Informative References</name> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.4273.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.4273.xml"/> | |||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.4486.xml"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R FC.4486.xml"/> | |||
<!-- draft-ietf-idr-bgp-model (I-D Exists) --> | ||||
<xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D. ietf-idr-bgp-model.xml"/> | <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D. ietf-idr-bgp-model.xml"/> | |||
</references> | </references> | |||
</references> | </references> | |||
<section numbered="false" toc="default"> | ||||
<name>Acknowledgments</name> | ||||
<t>Thanks to <contact fullname="Jeff Tantsura"/> and <contact fullname="Da | ||||
le Carder"/> for their comments on this document.</t> | ||||
<t><contact fullname="Mohamed Boucadair"/> provided feedback as part of th | ||||
e Routing Directorate | ||||
review of this document.</t> | ||||
<t>In 2006, <contact fullname="Bruno Rijsman"/> had written a proposal tha | ||||
t | ||||
was substantively similar to this document: draft-rijsman-bfd-down-subcode. Tha | ||||
t draft did not progress in the Inter-Domain Routing (IDR) Working Group | ||||
at that time. The author of this document was unaware of <contact full | ||||
name="Bruno"/>'s prior work | ||||
when creating this proposal. | ||||
</t> | ||||
</section> | ||||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 28 change blocks. | ||||
96 lines changed or deleted | 92 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |