BFD Working Group | X. Min |
Internet-Draft | ZTE Corp. |
Intended status: Standards Track | February 28, 2020 |
Expires: August 31, 2020 |
Bidirectional Forwarding Detection (BFD) Padding Alteration
draft-xiao-bfd-padding-alteration-00
This document describes the procedures of the Bidirectional Forwarding Detection (BFD) protocol to alter BFD padding, using BFD in Asynchronous mode.
This Internet-Draft is submitted in full conformance with the 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 and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 31, 2020.
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
"BFD Encapsulated in Large Packets" [I-D.ietf-bfd-large-packets] defines a new BFD variable bfd.PaddedPduSize, which can be configured to the value the BFD transport protocol payload size is increased to, and the contents of this additional payload MUST be zero. In other words, the BFD protocol can be used to verify path MTU with BFD padding.
Considering that there are implementations that do not support Large BFD Packets, [I-D.ietf-bfd-large-packets] specifies that when an implementation is incapable of processing Large BFD Packets, the BFD state machine will behave as if it were not receiving Control packets. The implementation would follow standard BFD procedures with regards to not having received Control packets.
"Bidirectional Forwarding Detection (BFD)" [RFC5880] specifies the Poll Sequence as an exchange of BFD Control packets that is used in some circumstances to ensure that the remote system is aware of parameter changes.
This document describes the procedures of the Bidirectional Forwarding Detection (BFD) protocol to alter BFD padding, using BFD in Asynchronous mode. The procedure defined in this document refers to but differs from the Poll Sequence defined in Section 6.5 of [RFC5880].
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.
There are two scenarios when turning on BFD padding. One is to turn on BFD padding when the BFD session is Up and running with the Small BFD Packets. Another one is to turn on BFD padding before the BFD session is Up.
Consider a scenario when the BFD session is Up and running with the Small BFD Packets, which don't include any padding. If the BFD variable bfd.PaddedPduSize is set to a new non-zero value, i.e., switch from the Small BFD Packets to the Large BFD Packets whose size equals to the provisioned new value, then the procedure described in this section is applied, and the procedure is called Padding Poll Sequence.
A Padding Poll Sequence consists of a system sending periodic Small BFD Control packets and additional Padding Poll, namely Large BFD Control packets with the Poll (P) bit set, which is used to notify the BFD peer system, that it intends to switch from the current Small BFD Packets, to the Large BFD Packets whose size equals to the provisioned new value. When the BFD peer system receives a Padding Poll, it immediately responds a BFD Control packet with the Final (F) bit set, independent of any periodic BFD Control packets it is sending. When the system sending the Padding Poll sequence receives a replied packet with Final, the Padding Poll Sequence is considered to be successfully terminated. Typically, the successfully terminated sequence consists of a single packet in each direction, but considering packet losses or relatively long packet latencies, multiple Padding Poll packets may be sent before the sequence successfully terminates, the maximum number of Padding Poll packets and the interval between sequential Padding Poll packets are implementation specific local matters. When the system sending the Padding Poll sequence doesn't receive any replied packet with Final, over the whole process of sending multiple Poll packets, the Padding Poll Sequence is considered to be unsuccessfully terminated.
If a Padding Poll Sequence is successfully terminated, the system requesting the Padding Poll Sequence would switch to the periodic transmission of Large BFD Packets whose size equals to the provisioned new value, with the Poll (P) bit clear.
If a Padding Poll Sequence is unsuccessfully terminated, the system requesting the Padding Poll Sequence would report an error to its management, and continue the periodic transmission of Small BFD Control packets with the Poll (P) bit clear.
If the BFD variable bfd.PaddedPduSize is set to a non-zero value indicating padding before the BFD session is Up, then the procedure described in this section is applied.
At first the BFD session would be Up and running with the Small BFD Packets which don't include any padding, following the BFD session establishing procedures defined in [RFC5880], and then switch from the Small BFD Packets to the Large BFD Packets, so that the Padding Poll Sequence described in Section 2.1 is applied.
If BFD variable bfd.PaddedPduSize is set on both sides of the tested path, then the Padding Poll Sequence would happen on both directions separately.
While the BFD session is Up and running with the Large BFD Packets which include padding, if the BFD variable bfd.PaddedPduSize is set to a new value indicating larger padding, i.e., switch from the Large BFD Packets to the Large BFD Packets whose size equals to the provisioned new value, then the Padding Poll Sequence described in Section 2.1 is applied. Specifically, Padding Poll would use Larger BFD Packets with the Poll (P) bit set.
While the BFD session is Up and running with the Large BFD Packets which include padding, if the BFD variable bfd.PaddedPduSize is set to a new value indicating smaller padding, i.e., switch from the Larger BFD Packets to the Large BFD Packets whose size equals to the provisioned new value, then the Poll Sequence described in Section 6.5 of [RFC5880] is applied. Specifically, the Poll Sequence MUST be performed by setting the Poll (P) bit on those scheduled periodic transmissions, and additional packets MUST NOT be sent.
While the BFD session is Up and running with the Large BFD Packets which include padding, if the BFD padding is turned off, i.e., switch from the Large BFD Packets to the Small BFD Packets, then the Poll Sequence described in Section 6.5 of [RFC5880] is also applied.
This document does not raise any additional security issues beyond those of the specifications referred to in the list of normative references.
This document has no IANA action requested.
TBA.
[I-D.ietf-bfd-large-packets] | Haas, J. and A. Fu, "BFD Encapsulated in Large Packets", Internet-Draft draft-ietf-bfd-large-packets-02, November 2019. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC5880] | Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010. |
[RFC8174] | Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017. |