rfc9687.original | rfc9687.txt | |||
---|---|---|---|---|
IDR J. Snijders | Internet Engineering Task Force (IETF) J. Snijders | |||
Internet-Draft Fastly | Request for Comments: 9687 Fastly | |||
Updates: 4271 (if approved) B. Cartwright-Cox | Updates: 4271 B. Cartwright-Cox | |||
Intended status: Standards Track Port 179 | Category: Standards Track Port 179 | |||
Expires: 7 February 2025 Y. Qu | ISSN: 2070-1721 Y. Qu | |||
Futurewei | Futurewei | |||
6 August 2024 | November 2024 | |||
Border Gateway Protocol 4 (BGP-4) Send Hold Timer | Border Gateway Protocol 4 (BGP-4) Send Hold Timer | |||
draft-ietf-idr-bgp-sendholdtimer-15 | ||||
Abstract | Abstract | |||
This document defines the SendHoldtimer, along with the | This document defines the SendHoldTimer, along with the | |||
SendHoldTimer_Expires event, for the Border Gateway Protocol (BGP) | SendHoldTimer_Expires event, for the Border Gateway Protocol (BGP) | |||
Finite State Machine (FSM). Implementation of the SendHoldTimer | Finite State Machine (FSM). Implementation of the SendHoldTimer | |||
helps overcome situations where a BGP connection is not terminated | helps overcome situations where a BGP connection is not terminated | |||
after the local system detects that the remote system is not | after the local system detects that the remote system is not | |||
processing BGP messages. This document specifies that the local | processing BGP messages. This document specifies that the local | |||
system should close the BGP connection and not solely rely on the | system should close the BGP connection and not solely rely on the | |||
remote system for connection closure when the SendHoldTimer expires. | remote system for connection closure when the SendHoldTimer expires. | |||
This document updates RFC4271. | This document updates RFC 4271. | |||
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 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 7 February 2025. | 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/rfc9687. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2024 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 | |||
2. Example of a problematic scenario . . . . . . . . . . . . . . 3 | 2. Requirements Language | |||
3. Changes to RFC 4271 - SendHoldTimer . . . . . . . . . . . . . 4 | 3. Example of a Problematic Scenario | |||
3.1. Session Attributes . . . . . . . . . . . . . . . . . . . 4 | 4. Changes to RFC 4271 - SendHoldTimer | |||
3.2. Timer Event: SendHoldTimer_Expires . . . . . . . . . . . 4 | 4.1. Session Attributes | |||
3.3. Changes to the FSM . . . . . . . . . . . . . . . . . . . 4 | 4.2. Timer Event: SendHoldTimer_Expires | |||
3.4. Changes to BGP Timers . . . . . . . . . . . . . . . . . . 6 | 4.3. Changes to the FSM | |||
4. Send Hold Timer Expired Error Handling . . . . . . . . . . . 6 | 4.4. Changes to BGP Timers | |||
5. Implementation Considerations . . . . . . . . . . . . . . . . 6 | 5. Send Hold Timer Expired Error Handling | |||
6. Operational Considerations . . . . . . . . . . . . . . . . . 7 | 6. Implementation Considerations | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 7. Operational Considerations | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 8. Security Considerations | |||
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 | 9. IANA Considerations | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 10. Acknowledgements | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 11. References | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 8 | 11.1. Normative References | |||
Appendix A. Implementation status - RFC EDITOR: REMOVE BEFORE | 11.2. Informative References | |||
PUBLICATION . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | ||||
1. Introduction | 1. Introduction | |||
This document defines the SendHoldtimer, along with the | This document defines the SendHoldTimer, along with the | |||
SendHoldTimer_Expires event, for the Border Gateway Protocol (BGP) | SendHoldTimer_Expires event, for the Border Gateway Protocol (BGP) | |||
[RFC4271] Finite State Machine (FSM) defined in section 8. | Finite State Machine (FSM) defined in Section 8 of [RFC4271]. | |||
Failure to terminate a blocked BGP connection can result in network | Failure to terminate a blocked BGP connection can result in network | |||
reachability issues, and the subsequent failure to generate and | reachability issues, and the subsequent failure to generate and | |||
deliver BGP UPDATE messages to another BGP speaker of the local | deliver BGP UPDATE messages to another BGP speaker of the local | |||
system is detrimental to all participants of the inter-domain routing | system is detrimental to all participants of the inter-domain routing | |||
system. This phenomena is thought to have contributed to IP traffic | system. This phenomena is thought to have contributed to IP traffic | |||
blackholing events in the global Internet routing system | packet loss events in the global Internet routing system | |||
[bgpzombies]. | [bgpzombies]. | |||
This specification intends to improve this situation by requiring | This specification intends to improve this situation by requiring | |||
that BGP connections be terminated if the local system has detected | that BGP connections be terminated if the local system has detected | |||
that the remote system cannot possibly have processed any BGP | that the remote system cannot possibly have processed any BGP | |||
messages for the duration of the SendHoldTime. Through | messages for the duration of the SendHoldTime. Through | |||
standardization of the aforementioned requirement, operators will | standardization of the aforementioned requirement, operators will | |||
benefit from consistent behavior across different BGP | benefit from consistent behavior across different BGP | |||
implementations. | implementations. | |||
BGP speakers following this specification do not rely exclusively on | BGP speakers following this specification do not rely exclusively on | |||
remote systems closing blocked connections, but will also locally | remote systems closing blocked connections; they also locally close | |||
close blocked connections. | blocked connections. | |||
2. Example of a problematic scenario | 2. 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. | ||||
3. Example of a Problematic Scenario | ||||
In implementations lacking the concept of a SendHoldTimer, a | In implementations lacking the concept of a SendHoldTimer, a | |||
malfunctioning or overwhelmed remote speaker may cause data on the | malfunctioning or overwhelmed remote speaker may cause data on the | |||
BGP socket in the local system to accumulate ad infinitum. This | BGP socket in the local system to accumulate ad infinitum. This | |||
could result in forwarding failure and traffic loss, as the | could result in forwarding failure and traffic loss, as the | |||
overwhelmed speaker continues to utilize stale routes. | overwhelmed speaker continues to utilize stale routes. | |||
An example fault state: as BGP runs over TCP [RFC9293], it is | An example fault state: as BGP runs over TCP [RFC9293], it is | |||
possible for a BGP speaker in the Established state to encounter a | possible for a BGP speaker in the Established state to encounter a | |||
BGP speaker that is advertising a TCP Receive Window (RCV.WND) of | BGP speaker that is advertising a TCP Receive Window (RCV.WND) of | |||
size zero. This 0 window prevents the local system from sending | size zero. The size zero of this window prevents the local system | |||
KEEPALIVE, UPDATE, or any other critical BGP messages across the | from sending KEEPALIVE, UPDATE, or any other critical BGP messages | |||
network socket to the remote speaker. | across the network socket to the remote speaker. | |||
Generally BGP implementations have no visibility into lower-layer | Generally BGP implementations have no visibility into lower-layer | |||
subsystems such as TCP or the speaker's current Receive Window size, | subsystems such as TCP or the speaker's current Receive Window size, | |||
and there is no existing BGP mechanism for such a blocked connection | and there is no existing BGP mechanism for such a blocked connection | |||
to be recognized. Hence BGP implementations are not able to handle | to be recognized. Hence BGP implementations are not able to handle | |||
this situation in a consistent fashion. | this situation in a consistent fashion. | |||
The major issue arising from a BGP speaker being unable to send a BGP | The primary issue that arises when a BGP speaker is unable to send a | |||
message to a given remote speaker is that as a result that speaker | BGP message to a remote speaker is that the affected speaker may end | |||
subsequently is operating based on stale routing information. | up operating with outdated routing information. Failure of the BGP | |||
Failure of the BGP speaker to send (and thus the remote speaker to | speaker to send (and thus the remote speaker to receive) BGP messages | |||
receive) BGP messages on a single BGP session can negatively impact | on a single BGP session can negatively impact the ability of an | |||
the ability of an entire autonomous system (or even a group of | entire autonomous system (or even a group of autonomous systems) to | |||
autonomous systems) to converge. | converge. | |||
3. Changes to RFC 4271 - SendHoldTimer | 4. Changes to RFC 4271 - SendHoldTimer | |||
BGP speakers are implemented following a conceptual model "BGP Finite | BGP speakers are implemented following a conceptual model "BGP Finite | |||
State Machine" (FSM), which is outlined in section 8 of [RFC4271]. | State Machine" (FSM), which is outlined in Section 8 of [RFC4271]. | |||
This specification adds a BGP timer, SendHoldTimer, and updates the | This specification adds a BGP timer, SendHoldTimer, and updates the | |||
BGP FSM as follows: | BGP FSM as indicated in the following subsections. | |||
3.1. Session Attributes | 4.1. Session Attributes | |||
The following optional session attributes for each connection are | The following optional session attributes for each connection are | |||
added to Section 8, before "The optional session attributes support | added to the list in Section 8 of [RFC4271] appearing just prior to | |||
different features of the BGP functionality that have implications | "The optional session attributes support different features of the | |||
for the BGP FSM state transitions": | BGP functionality that have implications for the BGP FSM state | |||
transitions": | ||||
NEW | NEW | |||
| 14) SendHoldTimer | | 14) SendHoldTimer | |||
| | | | |||
| 15) SendHoldTime | | 15) SendHoldTime | |||
The SendHoldTime determines how long a BGP speaker will stay in | SendHoldTime determines how long a BGP speaker will stay in the | |||
Established state before the TCP connection is dropped because no BGP | Established state before the TCP connection is dropped because no BGP | |||
messages can be transmitted to its peer. A BGP speaker can configure | messages can be transmitted to its peer. A BGP speaker can configure | |||
the value of the SendHoldTime for each peer independently. | the value of the SendHoldTime for each peer independently. | |||
3.2. Timer Event: SendHoldTimer_Expires | 4.2. Timer Event: SendHoldTimer_Expires | |||
Another timer event is added to Section 8.1.3 of [RFC4271] as | Another timer event is added to Section 8.1.3 of [RFC4271] as | |||
following: | follows: | |||
NEW | NEW | |||
| Event 29: SendHoldTimer_Expires | | Event 29: SendHoldTimer_Expires | |||
| Definition: An event generated when the SendHoldTimer expires. | ||||
| | | | |||
| Status: Optional | | Definition: An event generated when the SendHoldTimer | |||
| expires. | ||||
| | ||||
| Status: Optional | ||||
3.3. Changes to the FSM | 4.3. Changes to the FSM | |||
The following changes are made to section 8.2.2 in [RFC4271]. | The following changes are made to Section 8.2.2 of [RFC4271]. | |||
In "OpenConfirm State", the handling of Event 26 is revised as | In "OpenConfirm State", the handling of Event 26 is revised as | |||
follows: | follows: | |||
OLD | OLD | |||
| If the local system receives a KEEPALIVE message (KeepAliveMsg | | If the local system receives a KEEPALIVE message (KeepAliveMsg | |||
| (Event 26)), the local system: | | (Event 26)), the local system: | |||
| - restarts the HoldTimer and | ||||
| | | | |||
| - changes its state to Established. | | - restarts the HoldTimer and | |||
| | ||||
| - changes its state to Established. | ||||
NEW | NEW | |||
| If the local system receives a KEEPALIVE message (KeepAliveMsg | | If the local system receives a KEEPALIVE message (KeepAliveMsg | |||
| (Event 26)), the local system: | | (Event 26)), the local system: | |||
| - restarts the HoldTimer, | ||||
| | | | |||
| - starts the SendHoldTimer if the SendHoldTime is non-zero, and | | - restarts the HoldTimer, | |||
| | | | |||
| - changes its state to Established. | | - starts the SendHoldTimer if the SendHoldTime is non-zero, | |||
| and | ||||
| | ||||
| - changes its state to Established. | ||||
The following paragraph is added to section 8.2.2 in "Established | The following paragraph is added to Section 8.2.2 of [RFC4271] in | |||
State", after the paragraph which ends "unless the negotiated | "Established State", after the paragraph that ends "unless the | |||
HoldTime value is zero.": | negotiated HoldTime value is zero": | |||
NEW | NEW | |||
| If the SendHoldTimer_Expires (Event 29) occurs, the local | | If the SendHoldTimer_Expires (Event 29) occurs, the local system: | |||
| system: | ||||
| | | | |||
| - (optionally) sends a NOTIFICATION message with the BGP Error | | - (optionally) sends a NOTIFICATION message with the BGP Error | |||
| Code "Send Hold Timer Expired" if the local system can | | Code "Send Hold Timer Expired" if the local system can | |||
| determine that doing so will not delay the following actions | | determine that doing so will not delay the following actions | |||
| in this paragraph, | | in this paragraph, | |||
| | | | |||
| - logs an error message in the local system with the BGP Error | | - logs an error message in the local system with the BGP Error | |||
| Code "Send Hold Timer Expired", | | Code "Send Hold Timer Expired", | |||
| | | | |||
| - releases all BGP resources, | | - releases all BGP resources, | |||
skipping to change at page 5, line 51 ¶ | skipping to change at line 236 ¶ | |||
| | | | |||
| - increments the ConnectRetryCounter by 1, | | - increments the ConnectRetryCounter by 1, | |||
| | | | |||
| - (optionally) performs peer oscillation damping if the | | - (optionally) performs peer oscillation damping if the | |||
| DampPeerOscillations attribute is set to TRUE, and | | DampPeerOscillations attribute is set to TRUE, and | |||
| | | | |||
| - changes its state to Idle. | | - changes its state to Idle. | |||
| | | | |||
| Each time the local system sends a BGP message, it restarts the | | Each time the local system sends a BGP message, it restarts the | |||
| SendHoldTimer unless the SendHoldTime value is zero or the | | SendHoldTimer unless the SendHoldTime value is zero or the | |||
| negotiated HoldTime value is zero, in which cases the | | negotiated HoldTime value is zero, in which case the | |||
| SendHoldTimer is stopped. | | SendHoldTimer is stopped. | |||
| | | | |||
| The SendHoldTimer is stopped following any transition out of | | The SendHoldTimer is stopped following any transition out of | |||
| the Established state as part of the "release all BGP | | the Established state as part of the "release all BGP | |||
| resources" action. | | resources" action. | |||
3.4. Changes to BGP Timers | 4.4. Changes to BGP Timers | |||
Section 10 of [RFC4271] summarizes BGP Timers. This document adds | Section 10 of [RFC4271] summarizes BGP timers. This document adds | |||
another optional BGP timer: SendHoldTimer. | another optional BGP timer: SendHoldTimer. | |||
NEW | NEW | |||
| SendHoldTime is an FSM attribute that stores the initial value for | | SendHoldTime is an FSM attribute that stores the initial value for | |||
| the SendHoldTimer. If SendHoldTime is non-zero then it MUST be | | the SendHoldTimer. If SendHoldTime is non-zero, then it MUST be | |||
| greater than the value of HoldTime, see Section 5 of | | greater than the value of HoldTime; see Section 6 of [RFC9687] for | |||
| [I-D.ietf-idr-bgp-sendholdtimer] for suggested default values. | | suggested default values. | |||
4. Send Hold Timer Expired Error Handling | 5. Send Hold Timer Expired Error Handling | |||
If the local system does not send any BGP messages within the period | If the local system does not send any BGP messages within the period | |||
specified in SendHoldTime, then a NOTIFICATION message with the "Send | specified in SendHoldTime, then a NOTIFICATION message with the "Send | |||
Hold Timer Expired" Error Code MAY be sent and the BGP connection | Hold Timer Expired" Error Code MAY be sent and the BGP connection | |||
MUST be closed. Additionally, an error MUST be logged in the local | MUST be closed. Additionally, an error MUST be logged in the local | |||
system, indicating the Send Hold Timer Expired Error Code. | system, indicating the "Send Hold Timer Expired" Error Code. | |||
5. Implementation Considerations | 6. Implementation Considerations | |||
Due to the relative rarity of the failure mode that this | Due to the relative rarity of the failure mode that this | |||
specification is designed to address, and also the fact that network | specification is designed to address, and also the fact that network | |||
operators may be unfamiliar with the formal specification of BGP | operators may be unfamiliar with the formal specification of BGP | |||
fault detection mechanisms such as HoldTimer, it is likely that a | fault detection mechanisms such as HoldTimer, it is likely that a | |||
large number of operators are unaware of the necessity of an | large number of operators will be unaware of the need for an | |||
additional mechanism such as SendHoldtimer. | additional mechanism such as SendHoldTimer. | |||
Accordingly, it is RECOMMENDED that implementations of this | Accordingly, it is RECOMMENDED that implementations of this | |||
specification enable SendHoldtimer by default, without requiring | specification enable SendHoldTimer by default, without requiring | |||
additional configuration of the BGP speaking device. | additional configuration of the BGP-speaking device. | |||
The default value of SendHoldTime for a BGP connection SHOULD be the | The default value of SendHoldTime for a BGP connection SHOULD be the | |||
greater of: | greater of: | |||
* 8 minutes; or | * 8 minutes or | |||
* 2 times the negotiated HoldTime | * 2 times the negotiated HoldTime | |||
Implementations MAY make the value of SendHoldTime configurable, | Implementations MAY make the value of SendHoldTime configurable, | |||
either globally or on a per-peer basis, within the constraints set | either globally or on a per-peer basis, within the constraints set | |||
out in Section 3.4 above. | out in Section 4.4. | |||
The subcode for NOTIFICATION message "Send Hold Timer Expired" is set | The subcode for NOTIFICATION message "Send Hold Timer Expired" is set | |||
to 0 and is not used, no additional data is to be appended to the end | to 0 and is not used; no additional data is to be appended to the end | |||
of a "Send Hold Timer Expired" NOTIFICATION message. | of a "Send Hold Timer Expired" NOTIFICATION message. | |||
6. Operational Considerations | 7. Operational Considerations | |||
When the local system recognizes a remote speaker is not processing | When the local system recognizes that a remote speaker has not | |||
any BGP messages for the duration of the SendHoldTime, it is likely | processed any BGP messages for the duration of the SendHoldTime, it | |||
that the local system will not be able to inform the remote peer | is likely that the local system will not be able to inform the remote | |||
through a NOTIFICATION message as to why the connection is being | peer through a NOTIFICATION message as to why the connection is being | |||
closed. This documents suggests that an attempt to send a | closed. This document suggests that an attempt to send a | |||
NOTIFICATION message with the "Send Hold Timer Expired" error code is | NOTIFICATION message with the "Send Hold Timer Expired" Error Code | |||
still made, if doing so will not delay closing the BGP connection. | still be made, if doing so will not delay closing the BGP connection. | |||
Meanwhile an error message is logged into the local system. | Meanwhile, an error message is logged in the local system. | |||
Other mechanisms can be used as well, for example BGP speakers SHOULD | Other mechanisms can be used as well, for example, BGP speakers | |||
provide this reason as part of their operational state; e.g. | SHOULD provide this reason ("Send Hold Timer Expired") as part of | |||
bgpPeerLastError in the BGP MIB [RFC4273]. | their operational state (for example, bgpPeerLastError in the BGP MIB | |||
[RFC4273]). | ||||
7. Security Considerations | 8. Security Considerations | |||
This specification does not change BGP's security characteristics. | This specification does not change BGP's security characteristics. | |||
Implementing the BGP SendHoldTimer as specified in this document will | Implementing the BGP SendHoldTimer as specified in this document will | |||
enhance network resilience by terminating connections with | enhance network resilience by terminating connections with | |||
malfunctioning or overwhelmed remote peers. | malfunctioning or overwhelmed remote peers. | |||
8. IANA Considerations | 9. IANA Considerations | |||
IANA has registered code 8 for "Send Hold Timer Expired" in the "BGP | IANA has registered value 8 for "Send Hold Timer Expired" in the "BGP | |||
Error (Notification) Codes" registry in the "Border Gateway Protocol | Error (Notification) Codes" registry within the "Border Gateway | |||
(BGP) Parameters" registry group. | Protocol (BGP) Parameters" registry group. | |||
9. Acknowledgements | 10. Acknowledgements | |||
The authors would like to thank William McCall, Theo de Raadt, John | The authors would like to thank William McCall, Theo de Raadt, John | |||
Heasley, Nick Hilliard, Jeffrey Haas, Tom Petch, Susan Hares, Keyur | Heasley, Nick Hilliard, Jeffrey Haas, Tom Petch, Susan Hares, Keyur | |||
Patel, Ben Maddison, Claudio Jeker, and John Scudder for their | Patel, Ben Maddison, Claudio Jeker, and John Scudder for their | |||
helpful review of this document. | helpful review of this document. | |||
10. References | 11. References | |||
10.1. Normative References | ||||
[I-D.ietf-idr-bgp-sendholdtimer] | 11.1. Normative References | |||
Snijders, J., Cartwright-Cox, B., and Y. Qu, "Border | ||||
Gateway Protocol 4 (BGP-4) Send Hold Timer", Work in | ||||
Progress, Internet-Draft, draft-ietf-idr-bgp- | ||||
sendholdtimer, <https://datatracker.ietf.org/doc/html/ | ||||
draft-ietf-idr-bgp-sendholdtimer>. | ||||
[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/info/rfc2119>. | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
DOI 10.17487/RFC4271, January 2006, | DOI 10.17487/RFC4271, January 2006, | |||
<https://www.rfc-editor.org/info/rfc4271>. | <https://www.rfc-editor.org/info/rfc4271>. | |||
[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/info/rfc8174>. | |||
[RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", | [RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", | |||
RFC 9293, DOI 10.17487/RFC9293, August 2022, | STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022, | |||
<https://www.rfc-editor.org/info/rfc9293>. | <https://www.rfc-editor.org/info/rfc9293>. | |||
10.2. Informative References | 11.2. Informative References | |||
[bgpzombies] | [bgpzombies] | |||
Fontugne, R., "BGP Zombies", April 2019, | Fontugne, R., "BGP Zombies", April 2019, | |||
<https://labs.ripe.net/author/romain_fontugne/bgp- | <https://labs.ripe.net/author/romain_fontugne/bgp- | |||
zombies/>. | zombies/>. | |||
[BIRD] Kubecova, K., "BIRD Internet Routing Daemon", October | ||||
2023, <https://gitlab.nic.cz/labs/bird/-/commit/ | ||||
bcf2327425d4dd96f381b87501cccf943bed606e>. | ||||
[frr] Lamparter, D., "bgpd: implement SendHoldTimer", May 2022, | ||||
<https://github.com/FRRouting/frr/pull/11225>. | ||||
[neo-bgp] Cartwright-Cox, B., "What does bgp.tools support", August | ||||
2022, <https://bgp.tools/kb/bgp-support>. | ||||
[openbgpd] Jeker, C., "bgpd send side hold timer", December 2020, | ||||
<https://marc.info/?l=openbsd-tech&m=160820754925261&w=2>. | ||||
[RFC4273] Haas, J., Ed. and S. Hares, Ed., "Definitions of Managed | [RFC4273] Haas, J., Ed. and S. Hares, Ed., "Definitions of Managed | |||
Objects for BGP-4", RFC 4273, DOI 10.17487/RFC4273, | Objects for BGP-4", RFC 4273, DOI 10.17487/RFC4273, | |||
January 2006, <https://www.rfc-editor.org/info/rfc4273>. | January 2006, <https://www.rfc-editor.org/info/rfc4273>. | |||
Appendix A. Implementation status - RFC EDITOR: REMOVE BEFORE | ||||
PUBLICATION | ||||
This section records the status of known implementations of the | ||||
protocol defined by this specification at the time of posting of this | ||||
Internet-Draft, and is based on a proposal described in RFC 7942. | ||||
The description of implementations in this section is intended to | ||||
assist the IETF in its decision processes in progressing drafts to | ||||
RFCs. Please note that the listing of any individual implementation | ||||
here does not imply endorsement by the IETF. Furthermore, no effort | ||||
has been spent to verify the information presented here that was | ||||
supplied by IETF contributors. This is not intended as, and must not | ||||
be construed to be, a catalog of available implementations or their | ||||
features. Readers are advised to note that other implementations may | ||||
exist. | ||||
According to RFC 7942, "this will allow reviewers and working groups | ||||
to assign due consideration to documents that have the benefit of | ||||
running code, which may serve as evidence of valuable experimentation | ||||
and feedback that have made the implemented protocols more mature. | ||||
It is up to the individual working groups to use this information as | ||||
they see fit". | ||||
* OpenBGPD [openbgpd] | ||||
* FRRouting [frr] | ||||
* neo-bgp (bgp.tools) [neo-bgp] | ||||
* BIRD [BIRD] | ||||
Patches to recognize error code 8 were merged into OpenBSD's and the- | ||||
tcpdump-group's tcpdump implementations. | ||||
Authors' Addresses | Authors' Addresses | |||
Job Snijders | Job Snijders | |||
Fastly | Fastly | |||
Amsterdam | Amsterdam | |||
Netherlands | Netherlands | |||
Email: job@fastly.com | Email: job@fastly.com | |||
Ben Cartwright-Cox | Ben Cartwright-Cox | |||
Port 179 Ltd | Port 179 Ltd | |||
skipping to change at page 10, line 4 ¶ | skipping to change at line 373 ¶ | |||
Fastly | Fastly | |||
Amsterdam | Amsterdam | |||
Netherlands | Netherlands | |||
Email: job@fastly.com | Email: job@fastly.com | |||
Ben Cartwright-Cox | Ben Cartwright-Cox | |||
Port 179 Ltd | Port 179 Ltd | |||
London | London | |||
United Kingdom | United Kingdom | |||
Email: ben@benjojo.co.uk | Email: ben@benjojo.co.uk | |||
Yingzhen Qu | Yingzhen Qu | |||
Futurewei Technologies | Futurewei Technologies | |||
Santa Clara, | San Jose, CA 95131 | |||
United States | United States of America | |||
Email: yingzhen.ietf@gmail.com | Email: yingzhen.ietf@gmail.com | |||
End of changes. 64 change blocks. | ||||
192 lines changed or deleted | 139 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |