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

Abstract

   This document describes the procedures of the Bidirectional
   Forwarding Detection (BFD) protocol to alter BFD padding, using BFD
   in Asynchronous mode.

Status of This Memo

   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 Notice

   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.





Min                      Expires August 31, 2020                [Page 1]


Internet-Draft           BFD Padding Alteration            February 2020


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Conventions Used in This Document . . . . . . . . . . . .   2
   2.  Turn On BFD Padding . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Switch From the Small BFD Packets . . . . . . . . . . . .   3
     2.2.  Switch From the Start of a BFD Session  . . . . . . . . .   4
   3.  Increase BFD Padding  . . . . . . . . . . . . . . . . . . . .   4
   4.  Decrease BFD Padding  . . . . . . . . . . . . . . . . . . . .   4
   5.  Turn Off BFD Padding  . . . . . . . . . . . . . . . . . . . .   4
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   5
   9.  Normative References  . . . . . . . . . . . . . . . . . . . .   5
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   "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].

1.1.  Conventions Used in This Document

   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



Min                      Expires August 31, 2020                [Page 2]


Internet-Draft           BFD Padding Alteration            February 2020


   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  Turn On BFD Padding

   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.

2.1.  Switch From the Small BFD Packets

   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



Min                      Expires August 31, 2020                [Page 3]


Internet-Draft           BFD Padding Alteration            February 2020


   management, and continue the periodic transmission of Small BFD
   Control packets with the Poll (P) bit clear.

2.2.  Switch From the Start of a BFD Session

   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.

3.  Increase BFD Padding

   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.

4.  Decrease BFD Padding

   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.

5.  Turn Off BFD Padding

   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.





Min                      Expires August 31, 2020                [Page 4]


Internet-Draft           BFD Padding Alteration            February 2020


6.  Security Considerations

   This document does not raise any additional security issues beyond
   those of the specifications referred to in the list of normative
   references.

7.  IANA Considerations

   This document has no IANA action requested.

8.  Acknowledgements

   TBA.

9.  Normative References

   [I-D.ietf-bfd-large-packets]
              Haas, J. and A. Fu, "BFD Encapsulated in Large Packets",
              draft-ietf-bfd-large-packets-02 (work in progress),
              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,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC5880]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
              <https://www.rfc-editor.org/info/rfc5880>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

Author's Address

   Xiao Min
   ZTE Corp.
   Nanjing
   China

   Phone: +86 18061680168
   Email: xiao.min2@zte.com.cn








Min                      Expires August 31, 2020                [Page 5]