< draft-merciaz-idr-bgp-bfd-strict-mode-00.txt   draft-merciaz-idr-bgp-bfd-strict-mode-01.txt >
IDR WorkGroup M. Zheng IDR WorkGroup M. Zheng
Internet-Draft A. Lindem Internet-Draft A. Lindem
Intended status: Standards Track Cisco Systems Intended status: Standards Track Cisco Systems
Expires: September 12, 2019 March 11, 2019 Expires: October 5, 2019 April 3, 2019
BGP BFD Strict-Mode BGP BFD Strict-Mode
draft-merciaz-idr-bgp-bfd-strict-mode-00 draft-merciaz-idr-bgp-bfd-strict-mode-01
Abstract Abstract
This document specifies extensions to RFC4271 BGP-4 that enable a BGP This document specifies extensions to RFC4271 BGP-4 that enable a BGP
speaker to signal additional Bidirectional Forwarding Detection (BFD) speaker to signal additional Bidirectional Forwarding Detection (BFD)
extensions using an optional parameter BFD capability. This BFD extensions using an optional parameter BFD capability. This BFD
capability enables a BGP speaker to prevent a BGP session from being capability enables a BGP speaker to prevent a BGP session from being
established until a BFD session is established. It is referred to as established until a BFD session is established. It is referred to as
BGP BFD "strict-mode". BGP BFD strict-mode will be supported when BGP BFD "strict-mode". BGP BFD strict-mode will be supported when
both the local speaker and its remote peer are BFD strict-mode both the local speaker and its remote peer are BFD strict-mode
skipping to change at page 1, line 38 skipping to change at page 1, line 38
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 September 12, 2019. This Internet-Draft will expire on October 5, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. BGP BFD Capability . . . . . . . . . . . . . . . . . . . . . 3 3. BFD Capability . . . . . . . . . . . . . . . . . . . . . . . 3
4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Backward Compatibility . . . . . . . . . . . . . . . . . . . 4 5. Backward Compatibility . . . . . . . . . . . . . . . . . . . 4
6. Security Considerations . . . . . . . . . . . . . . . . . . . 4 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 5 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 5
9. Normative References . . . . . . . . . . . . . . . . . . . . 5 9. Normative References . . . . . . . . . . . . . . . . . . . . 5
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction 1. Introduction
Bidirectional Forwarding Detection BFD [RFC5882] enables routers to Bidirectional Forwarding Detection BFD [RFC5882] enables routers to
monitor data plane connectivity and to detect faults in the monitor data plane connectivity and to detect faults in the
bidirectional forwarding path between them. This capability is bidirectional forwarding path between them. This capability is
skipping to change at page 2, line 42 skipping to change at page 2, line 42
bidirectional forwarding detected by BFD result in session bidirectional forwarding detected by BFD result in session
termination. It is possible in some failure scenarios for the termination. It is possible in some failure scenarios for the
network to be in a state such that a BGP session may be established network to be in a state such that a BGP session may be established
but a BFD session cannot be established. In some other scenarios, it but a BFD session cannot be established. In some other scenarios, it
may be possible to establish a BGP session, but a degraded or poor- may be possible to establish a BGP session, but a degraded or poor-
quality link may result in the corresponding BFD session going up and quality link may result in the corresponding BFD session going up and
down frequently. down frequently.
To avoid situations which result in routing churn and to minimize the To avoid situations which result in routing churn and to minimize the
impact of network interruptions, it will be beneficial to disallow impact of network interruptions, it will be beneficial to disallow
BGP to establish a neighbor session until BFD session is successfully BGP to establish a neighbor session until s BFD session is
established and has stabilized. We refer to this mode of operation successfully established and has stabilized. We refer to this mode
as BGP BFD "strict-mode". However, always using strict-mode" would of operation as BGP BFD "strict-mode". However, always using
preclude BGP operation in an environment where not all routers "strict-mode" would preclude BGP operation in an environment where
support BFD strict-mode or have BFD enabled. This document defines not all routers support BFD strict-mode or have BFD enabled. This
BGP "strict-mode" operation as preventing BGP session establishment document defines BGP "strict-mode" operation as preventing BGP
until both the local and remove speakers have a stable BFD session. session establishment until both the local and remove speakers have a
The document also specifies the BGP protocol extensions for BGP stable BFD session. The document also specifies the BGP protocol
capability [RFC5492] for announcing BFD parameters including a BGP extensions for BGP capability [RFC5492] for announcing BFD parameters
speaker's support for "strict-mode", i.e., requiring a BFD session including a BGP speaker's support for "strict-mode", i.e., requiring
for BGP session establishment. a BFD session for BGP session establishment.
2. Requirements Language 2. 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 BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. BGP BFD Capability 3. BFD Capability
The BGP Capability [RFC5492] for BFD parameters will allow a BGP The BGP Capability [RFC5492] for BFD parameters will allow a BGP
speaker's BFD capabilities including its support for BFD strict-mode. speaker's BFD capabilities including its support for BFD strict-mode.
This capability is defined as follows: This capability is defined as follows:
Capability code: TBD Capability code: TBD
Capability length: 1 octet Capability length: 1 octet
Capability value: Consists of 1 octet BFD flags as follows: Capability value: Consists of 1 octet BFD flags as follows:
skipping to change at page 3, line 44 skipping to change at page 3, line 44
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
|S| Reserved | |S| Reserved |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
The most significant bit is defined as state of Strict-Mode ("Strict- The most significant bit is defined as state of Strict-Mode ("Strict-
Mode", or "S") bit, which can be used by a BGP speaker to signal its Mode", or "S") bit, which can be used by a BGP speaker to signal its
support for BFD Strict-mode. When set (value 1), this bit indicates support for BFD Strict-mode. When set (value 1), this bit indicates
that the BGP speaker has the BFD "Strict-mode" enabled. If both that the BGP speaker has the BFD "Strict-mode" enabled. If both
local BGP speaker and its peer are enabled with BFD strict-mode, then local BGP speaker and its peer have BFD strict-mode enabled, then BGP
BGP session establishment will be disallowed until a BFD session is session establishment will be prevented until a BFD session is
established. A BGP speaker with BFD strict-mode enabled MUST established between the peering addresses. A BGP speaker with BFD
advertise the BFD capability with "S" bit value 1. strict-mode enabled MUST advertise the BFD capability with "S" bit
set.
The remaining bits are reserved and SHOULD be set to zero by the The remaining bits are reserved and SHOULD be set to zero by the
sender and MUST be ignored by the receiver. sender and MUST be ignored by the receiver.
4. Operation 4. Operation
A BGP speaker that supports capabilities advertisement sends an OPEN A BGP speaker that supports capabilities advertisement sends an OPEN
message to its BGP peer, the message MAY include an Optional message to its BGP peer, the message MAY include an Optional
Parameter, called Capabilities. The parameter lists the capabilities Parameter, called Capabilities. The parameter lists the capabilities
supported by the speaker. By following BGP capabilities supported by the speaker. By following BGP capabilities
advertisement procedures defined in [RFC5492], BFD capability advertisement procedures defined in [RFC5492], BFD capability
advertisement for strict-mode is advertised to BGP peers. advertisement for strict-mode is advertised to BGP peers.
If both BGP speakers advertise the BFD capability with the strict-
mode bit set, then the BGP state machine will be held in OpenConfirm
state [RFC4271] until a BFD session is established or the BGP session
is terminated for some other reason (e.g., the BGP Hold time expires.
A BGP speaker which supports capabilities advertisement and has BFD A BGP speaker which supports capabilities advertisement and has BFD
strict-mode enabled MUST include the BGP BFD capability with the "S" strict-mode enabled MUST include the BGP BFD capability with the "S"
Bit set in the BGP capabilities it advertises. Bit set in the BGP capabilities it advertises.
A BGP speaker which supports BFD capability advertisement, examines A BGP speaker which supports BFD capability advertisement, examines
the list of capabilities present in the Capabilities BFD Parameter the list of capabilities present in the Capabilities BFD Parameter
that the speaker receives from its peer. If both the local and that the speaker receives from its peer. If both the local and
remote BGP speakers BFD strict-mode enabled, then BGP session remote BGP speakers BFD strict-mode enabled, then the BGP session
establishment will be prevented until a BFD session is up. If either will be held in OpenConfirm state until a BFD session is established
peer has not advertised the BFD Capability with strict-mode enabled, between the two BGP speaker or the BGP session terminates for some
then a BFD session SHOULD NOT be required prior to BGP session other reason, e.g., the BGP hold timer expires. If either peer has
establishment. This does not preclude usage of BFD after BGP session not advertised the BFD Capability with strict-mode enabled, then a
establishment [RFC5882]. BFD session WILL NOT be required for the BGP session to reach
Established state. This does not preclude usage of BFD after BGP
A BGP speaker which does not support or recognize BFD capability session establishment [RFC5882].
should ignore the BFD capability. If a BGP speaker advertising the
capability receives the Unsupported Capability NOTIFICATION message,
it MUST NOT be result in BGP session termination.
5. Backward Compatibility 5. Backward Compatibility
The new BFD capability will introduce any backward compatibility if The BFD capability will not introduce any backward compatibility will
the procedures defined in this document are followed. A BGP speaker not result in any backward compatibility issues as long as the
which does not support BFD capability MUST ignore this capability. procedures in [RFC5492] and Section 4 are followed. As per
The Unsupported Capability NOTIFICATION message MUST NOT result in [RFC5492], a BGP speaker which does not support the BFD capability
session termination by the BGP speaker advertising the capability. will ignore the BFD capability. If a BGP speaker advertising the
capability receives the Unsupported Capability NOTIFICATION message
and terminates the BGP session, the BGP speaker advertising the BFD
capability SHOULD simply attempt to reestablish the BGP session with
the BFD capability omitted.
6. Security Considerations 6. Security Considerations
This specification doesn't change the basic security model inherent This specification doesn't change the basic security model inherent
in [RFC4271]. To the extent [RFC4271] might be said to help defend in [RFC4271]. However, it does introduce a new indirect attack
against denials of service by making the control plane more vector for BGP since it is now dependent on BFD.
resilient, this extension may modestly increase that resilience;
however, there are enough confounding and deployment-specific factors
that no general claims can be made.
7. IANA Considerations 7. IANA Considerations
This document defines a new BGP capability - BFD Capability. The This document defines a new BGP capability - BFD Capability. The
Capability Code for BFD Capability is TBD. Capability Code for BFD Capability is TBD.
IANA is requested to establish a "BGP BFD Capability Flags" registry IANA is requested to establish a "BGP BFD Capability Flags" registry
within the "Border Gateway Protocol (BGP) Parameters" grouping. The within the "Border Gateway Protocol (BGP) Parameters" grouping. The
Registration Procedure should be Standards Action, the initial values Registration Procedure should be Standards Action, the initial values
as follows: as follows:
skipping to change at page 5, line 27 skipping to change at page 5, line 31
+--------------+---------------+------------+---------------+ +--------------+---------------+------------+---------------+
| Bit Position | Name | Short Name | Reference | | Bit Position | Name | Short Name | Reference |
+--------------+---------------+------------+---------------+ +--------------+---------------+------------+---------------+
| 0 | Strict-Mode | S | this document | | 0 | Strict-Mode | S | this document |
| 1-7 | Unassigned | | this document | | 1-7 | Unassigned | | this document |
+--------------+---------------+------------+---------------+ +--------------+---------------+------------+---------------+
8. Acknowledgement 8. Acknowledgement
The authors would like to acknowledge the review and inputs from The authors would like to acknowledge the review and inputs from
Shyam Sethuram and Mohammed Mirza. Shyam Sethuram, Mohammed Mirza, and Bruno Decraene.
9. Normative References 9. 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, <https://www.rfc- DOI 10.17487/RFC2119, March 1997, <https://www.rfc-
editor.org/info/rfc2119>. 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,
 End of changes. 13 change blocks. 
43 lines changed or deleted 47 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/