Skip to main content

TLV support for BMP Route Monitoring and Peer Down Messages
draft-ietf-grow-bmp-tlv-03

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Active".
Authors Paolo Lucente , Yunan Gu , Henk Smit
Last updated 2020-09-09 (Latest revision 2020-03-09)
Replaces draft-lucente-bmp-tlv
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-grow-bmp-tlv-03
Global Routing Operations                                     P. Lucente
Internet-Draft                                                       NTT
Updates: 7854 (if approved)                                        Y. Gu
Intended status: Standards Track                                  Huawei
Expires: March 13, 2021                                          H. Smit
                                                             Independent
                                                       September 9, 2020

      TLV support for BMP Route Monitoring and Peer Down Messages
                       draft-ietf-grow-bmp-tlv-03

Abstract

   Most of the message types defined by the BGP Monitoring Protocol
   (BMP) do provision for optional trailing data.  However, Route
   Monitoring messages (to provide a snapshot of the monitored Routing
   Information Base) and Peer Down messages (to indicate that a peering
   session was terminated) do not.  Supporting optional data in TLV
   format across all BMP message types allows for an homogeneous and
   extensible surface that would be useful for the most different use-
   cases that need to convey additional data to a BMP station.  While it
   is not intended for this document to cover any specific utilization
   scenario, it defines a simple way to support optional TLV data in all
   message types.

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 March 13, 2021.

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Lucente, et al.          Expires March 13, 2021                 [Page 1]
Internet-Draft                   BMP TLV                  September 2020

   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  TLV encoding  . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  BMP Message Format  . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Common Header . . . . . . . . . . . . . . . . . . . . . .   4
     4.2.  TLV data in Route Monitoring  . . . . . . . . . . . . . .   4
     4.3.  TLV data in Peer Down . . . . . . . . . . . . . . . . . .   5
     4.4.  TLV data in other BMP messages  . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   7.  Normative References  . . . . . . . . . . . . . . . . . . . .   6
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   The BGP Monitoring Protocol (BMP) is defined in RFC 7854 [RFC7854].

   The Route Monitoring message consists of:

   o  Common Header

   o  Per-Peer Header

   o  BGP Update PDU

   The Peer Down Notification message consists of:

   o  Common Header

   o  Per-Peer Header

   o  Reason

   o  Data (only if Reason code is 1, 2 or 3)

Lucente, et al.          Expires March 13, 2021                 [Page 2]
Internet-Draft                   BMP TLV                  September 2020

   This means that both Route Monitoring and Peer Down messages have a
   non-extensible format.  In the Route Monitoring case, this is
   limiting if wanting to transmit characteristics of transported NLRIs
   (ie. to help stateless parsing) or to add vendor-specific data.  In
   the Peer Down case, this is limiting if matching TLVs sent with the
   Peer Up is desired.  The proposal of this document is to bump the BMP
   version, for backward compatibility, and allow all message types to
   provision for trailing TLV data.

2.  Terminology

   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 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they
   appear in all capitals, as shown here.

3.  TLV encoding

   The TLV data type is already defined in Section 4.4 of [RFC7854] for
   the Initiation and Peer Up message types.  A TLV consists of:

   o  2 octets of TLV Type,

   o  2 octets of TLV Length,

   o  0 or more octets of TLV Value.

      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Type (2 octets)        |     Length (2 octets)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                      Value (variable)                         ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                 Figure 1

   TLVs SHOULD be sorted by their code point.  Multiple TLVs of the same
   type can be repeated as part of the same message, and it is left to
   the specific use-cases whether all, any, the first or the last TLV
   should be considered.

   TLVs can be recursive and include sub-TLVs as their value.  This
   approach can be useful to build container TLVs to better isolate a
   group of TLVs for the same function from TLVs meant for different
   functions.  This scheme SHOULD be used whenever a certain function

Lucente, et al.          Expires March 13, 2021                 [Page 3]
Internet-Draft                   BMP TLV                  September 2020

   requires a specific mapping related to the order of NLRIs contained
   in the Route Monitor BGP message.  Here below an example of a TLV for
   fictional function 'FuncA' containing two sub-TLV types, 'X' and 'Y':

      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Type FuncA (2 octets)  |     Length (2 octets)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Sub-Type X (2 octets)  |     Length (2 octets)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                     Value (variable)                          ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Sub-Type Y (2 octets)  |     Length (2 octets)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                     Value (variable)                          ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Sub-Type X (2 octets)  |     Length (2 octets)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                     Value (variable)                          ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Sub-Type Y (2 octets)  |     Length (2 octets)         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                     Value (variable)                          ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                 Figure 2

4.  BMP Message Format

4.1.  Common Header

   Section 4.1 of [RFC7854] defines the Common Header.  While the
   structure remains unaltered, the following two definitions are
   changed:

   o  Version: Indicates the BMP version.  This is set to '4' for all
      messages.

   o  Message Length: Total length of the message in bytes (including
      headers, encapsulated BGP message and optional data)

4.2.  TLV data in Route Monitoring

   The Route Monitoring message type is defined in Section 4.6 of
   [RFC7854].  The BGP Update PDU Section 4.3 of [RFC4271] MAY be

Lucente, et al.          Expires March 13, 2021                 [Page 4]
Internet-Draft                   BMP TLV                  September 2020

   followed by TLV data.  This document defines the following new code
   points to help stateless parsing of BGP Update PDUs:

   o  Type = TBD1: the BGP Update PDU is encoded with support for the
      4-octet AS number capability RFC 6793 [RFC6793], value MUST be
      boolean.

   o  Type = TBD2: the BGP Update PDU is encoded with the ADD-PATH
      capability RFC 7911 [RFC7911], value MUST be boolean.

   o  Type = TBD3: the BGP Update PDU is encoded with the Multiple
      Labels capability RFC 8277 [RFC8277], value MUST be boolean.

4.3.  TLV data in Peer Down

   The Peer Down Notification message type is defined in Section 4.9 of
   [RFC7854].  For Reason codes 1 or 3, a BGP Notification PDU follows;
   the PDU MAY be followed by TLV data.  For Reason code 2, a 2-byte
   field to give additional FSM info follows; this field MAY be followed
   by TLV data.  For all other Reason codes, TLV data MAY follow the
   Reason field.

4.4.  TLV data in other BMP messages

   All other message types defined in RFC7854 [RFC7854] do already
   provision for TLV data.  It is RECOMMENDED that all future BMP
   message types will provision for trailing TLV data.

5.  Security Considerations

   It is not believed that this document adds any additional security
   considerations.

6.  IANA Considerations

   This document defines the following new TLV types for BMP Route
   Monitoring and Peer Down messages (Section 4.2):

   o  Type = TBD1: Support for the 4-octet AS number capability.  The
      value field contains a boolean value of 1 if the BGP Update PDU
      enclosed in the Route Monitoring message was encoded according to
      the capability.

   o  Type = TBD2: ADD-PATH capability.  The value field contains a
      boolean value of 1 if the BGP Update PDU enclosed in the Route
      Monitoring message was encoded according to the capability.

Lucente, et al.          Expires March 13, 2021                 [Page 5]
Internet-Draft                   BMP TLV                  September 2020

   o  Type = TBD3: Multiple Labels capability.  The value field contains
      a boolean value of 1 if the BGP Update PDU enclosed in the Route
      Monitoring message was encoded according to the capability.

7.  Normative References

   [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>.

   [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", RFC 4271,
              DOI 10.17487/RFC4271, January 2006,
              <https://www.rfc-editor.org/info/rfc4271>.

   [RFC6793]  Vohra, Q. and E. Chen, "BGP Support for Four-Octet
              Autonomous System (AS) Number Space", RFC 6793,
              DOI 10.17487/RFC6793, December 2012,
              <https://www.rfc-editor.org/info/rfc6793>.

   [RFC7854]  Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP
              Monitoring Protocol (BMP)", RFC 7854,
              DOI 10.17487/RFC7854, June 2016,
              <https://www.rfc-editor.org/info/rfc7854>.

   [RFC7911]  Walton, D., Retana, A., Chen, E., and J. Scudder,
              "Advertisement of Multiple Paths in BGP", RFC 7911,
              DOI 10.17487/RFC7911, July 2016,
              <https://www.rfc-editor.org/info/rfc7911>.

   [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>.

   [RFC8277]  Rosen, E., "Using BGP to Bind MPLS Labels to Address
              Prefixes", RFC 8277, DOI 10.17487/RFC8277, October 2017,
              <https://www.rfc-editor.org/info/rfc8277>.

Acknowledgements

   The authors would like to thank Jeff Haas and Camilo Cardona for
   their valuable input.  The authors would also like to thank Greg
   Skinner for his review.

Lucente, et al.          Expires March 13, 2021                 [Page 6]
Internet-Draft                   BMP TLV                  September 2020

Authors' Addresses

   Paolo Lucente
   NTT
   Siriusdreef 70-72
   Hoofddorp, WT  2132
   NL

   Email: paolo@ntt.net

   Yunan Gu
   Huawei
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: guyunan@huawei.com

   Henk Smit
   Independent
   NL

   Email: hhw.smit@xs4all.nl

Lucente, et al.          Expires March 13, 2021                 [Page 7]