Internet Engineering Task Force                               Yimin Shen
Internet-Draft                                          Juniper Networks
Intended status: Informational                                Ravi Singh
Expires: March 27, 2020                           Individual Contributor
                                                      September 24, 2019


               BGP Flexible Color-Based Tunnel Selection
           draft-shen-idr-flexible-color-tunnel-selection-00

Abstract

   This document discusses color-based tunnel selection for BGP payload
   prefixes.  It defines a set of extended mapping modes, and describes
   how to use these modes to construct tunnel selection schemes to
   achieve flexible tunnel selection.  Tunnel selection schemes can be
   implemented as policies on routers performing tunnel selection, or
   signaled by next hop routers or a central controller via BGP.

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 27, 2020.

Copyright Notice

   Copyright (c) 2019 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



Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 1]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Specification of Requirements . . . . . . . . . . . . . . . .   3
   3.  Extended Mapping Modes  . . . . . . . . . . . . . . . . . . .   3
   4.  Tunnel Selection Scheme and Operation . . . . . . . . . . . .   5
   5.  Provisioning of Tunnel Selection Schemes  . . . . . . . . . .   7
   6.  Flexible Color Tunnel Selection Attribute . . . . . . . . . .   8
     6.1.  Extended Mapping Mode TLV . . . . . . . . . . . . . . . .   8
   7.  Relationship with Color-Only Bits of Color Extended Community  10
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
   10. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  11
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  11
     11.2.  Informative References . . . . . . . . . . . . . . . . .  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   In a network using BGP to advertise payload prefixes, transporting
   the packets of a prefix from a router to the next hop router relies
   on the selection of a transport tunnel.  This selection is normally
   based on the prefix's BGP next hop IP address and some constraints.
   One such constraint is the color, which is encoded in the Color
   Extended Community [RFC5512].  Color is a generic notion which may
   represent any characteristic or property of the network, such as
   virtual topology, network slice, path computation algorithm, TE
   constraint, administrative profile, etc.  In this document, tunnel
   selection considering color as a constraint is broadly referred to as
   color-based tunnel selection.

   In a color-based tunnel selection scenario, payload prefixes may be
   associated with colors, through either configuration or the
   attachment of an Color Extended Community.  Likewise, transport
   tunnels may also be associated with colors, which may be encoded in
   BGP NLRI (e.g.  BGP SR-TE policy [BGP-SR-POLICY]), attached as an
   Extended Color Community (e.g.  BGP LU), or assigned by configuration
   (e.g.  RSVP and LDP tunnels), etc.  These payload prefixes and
   tunnels are called "colored payload prefixes" and "colored tunnels",
   respectively.  In general, a payload prefix of color X is expected to
   be mapped to a tunnel of the same color X for transport.  This is
   considered as the default mapping mode of color-based tunnel
   selection.




Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 2]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   In some cases, when a tunnel of color X cannot be found, a network
   operator may choose to continue the tunnel selection based on other
   mapping modes, e.g. a tunnel of another color Y, a tunnel without a
   color, a tunnel of color X but with an IPv4-mapped IPv6 endpoint
   address, etc.  These modes provide the network operator with the
   flexibility to take a full advantage of the tunnels in the network.
   In this document, these modes are called "extended mapping modes",
   and the procedure of attempting them in a user-defined order is
   called "fallback".

   This document defines a set of extended mapping modes to complement
   the default mapping mode.  It introduces the notion of "tunnel
   selection scheme".  A tunnel selection scheme is an ordered list of
   extended mapping modes, which is executed in tunnel selection.  When
   a tunnel cannot be selected by using the first mode in the list,
   fallback is performed by attempting the second mode, the third mode,
   and so on, until a tunnel is selected or the list is exhausted.

   Color-based tunnel selection for uncolored payload prefixes is also
   considered in this document as a special case.  By using a tunnel
   selection scheme, an uncolored payload prefix can select a colored or
   uncolored tunnel in a flexible manner.

2.  Specification of Requirements

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119] and
   [RFC8174].

3.  Extended Mapping Modes

   This document defines a set of extended mapping modes for flexible
   color-based tunnel selection.  Each mode specifies how a payload
   prefix's endpoint IPv4 or IPv6 address (derived from BGP next hop and
   the Tunnel Endpoint sub-TLV in the Tunnel Encapsulation Attribute
   [BGP-TUNNEL-ENCAP]) and color are used to select a tunnel.  The
   document assumes that each payload prefix SHOULD have a single color
   or no color, and each tunnel SHOULD have a single color or no color,
   which is the common usage of colors.

   In the definitions of the extended mapping modes below, N represents
   a payload prefix's endpoint IPv4 or IPv6 address, and C represents
   its color, if applicable.  An uncolored payload prefix does not have
   a color.  An extended mapping mode may involve multiple steps or sub-
   level fallback within it.  The mode is completed as soon as a tunnel
   is successfully selected in a certain step, and the rest steps are
   not executed.



Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 3]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   (1) IP-color, optionally with a fallback color list of {C1, ...,Cn}

      - If the payload prefix has a color C, select a tunnel whose
      endpoint address is N and whose color is C.

      - Select a tunnel whose endpoint address is N and whose color is
      C1.

      - ...

      - Select a tunnel whose endpoint address is N and color is Cn.

   (2) Color-only, optionally with a fallback color list of {C1, ...,
   Cn}

      - If the payload prefix has a color C, select a tunnel whose color
      is C, regardless of the tunnel's endpoint address.

      - Select a tunnel whose color is C1, regardless of tunnel's
      endpoint address.

      - ...

      - Select a tunnel whose color is Cn, regardless of tunnel's
      endpoint address.

   (3) IP-any-color

      - Select a tunnel whose endpoint address is N and who has a color
      of any value.

   (4) IP-only

      - Select a tunnel whose endpoint address is N and who does not
      have a color.

   (5) Converted-IPv6

   This mode is applicable when N is an IPv4 address.  Assume N' is the
   IPv6 address mapped from N.

      - Select a tunnel whose endpoint address is N' and who does not
      have a color.

   (6) Converted-IPv6-color, optionally a fallback color list of {C1,
   ..., Cn}





Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 4]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   This mode is applicable when N is an IPv4 address.  Assume N' is the
   IPv6 address mapped from N.

      - If the payload prefix has a color C, select a tunnel whose
      endpoint address is N' and whose color is C.

      - Select a tunnel whose endpoint address is N' and whose color is
      C1.

      - ...

      - Select a tunnel whose endpoint address is N' and whose color is
      Cn.

   (7) Converted-IPv6-any-color

   This mode is applicable when N is an IPv4 address.  Assume N' is the
   IPv6 address mapped from N.

      - Select a tunnel whose endpoint address is N' and who has a color
      of any value.

   (8) Color-profile

      - If the payload prefix has a color C, use C as key to look up a
      profile to construct tunnel selection constraints, and use the
      constraints to select a tunnel.

   As shown above, the IP-color, Color-only, and Converted-IPv6-color
   modes may have a fallback color list for achieving sub-level "cross-
   color" fallback.

   More modes MAY be defined in the future.

4.  Tunnel Selection Scheme and Operation

   A tunnel selection scheme is defined by an ordered list of extended
   mapping modes.  The first mode is called a "primary" mode, and all
   the subsequent modes are called "fallback" modes.  A scheme MUST have
   a primary mode, and MAY or MAY not have any fallback mode.

   When a scheme is executed, each mode in the list is attempted one at
   a time sequentially, and within the mode, each step is executed
   sequentially.  The process continues until a tunnel is selected or
   the list is exhausted.  When a given a tunnel is selected
   successfully by a certain step of a certain mode, the scheme is
   considered as completed, and all subsequent steps of the mode and all
   the subsequent modes in the list are skipped.  If no tunnel is



Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 5]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   selected when the list is exhausted, the corresponding payload prefix
   will remain as unresolved for transport.  When a previously selected
   tunnel becomes inoperative, the scheme SHOULD be rerun to select a
   new tunnel.

   It is possible that a tunnel was previously selected, and sometime
   later another tunnel of higher preference (in the tunnel selection
   scheme or in a fallback color list) becomes available.  In this case,
   the new tunnel MAY be selected to replace the current tunnel.  This
   procedure is called reversion.  A reversion may be performed manually
   by a network operator, or triggered automatically by the situation.

   Note that a tunnel selection scheme with extended mapping modes is a
   new criterion added to tunnel selection.  It SHOULD be used in
   parallel with other applicable criteria, such as protocol type,
   tunnel type, or attributes contained in the Tunnel Encapsulation
   Attribute.  This document does not change the processing of these
   criteria.

   The following are some examples of tunnel selection schemes.

   Example 1:

   Assume a payload prefix has a tunnel endpoint IPv4 address
   203.0.113.1 and a color RED, and it is associated with the following
   tunnel selection scheme.

      (1) IP-color

      (2) Converted-IPv6-color

      (3) IP-only

   The intended tunnel selection procedure is:

      (1) Find a tunnel whose endpoint IPv4 address is 203.0.113.1 and
      whose color is RED.

      (2) If the above is unsuccessful, convert the IPv4 address to an
      IPv6 address 2002:cb00:7101::/64.  Find a tunnel whose endpoint
      IPv6 address is 2002:cb00:7101::/64 and whose color is RED.

      (3) If the above is unsuccessful, find a tunnel whose endpoint
      IPv4 address is 203.0.113.1 and who does not have a color.

   Example 2:





Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 6]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   Assume a prefix has a tunnel endpoint IPv4 address 203.0.113.1 and a
   color RED, and it is associated with the following tunnel selection
   scheme.

      (1) IP-color, with a fallback color list = {BLUE, GREEN}

      (2) Converted-IPv6-color, with a fallback color list = {WHITE}

      (3) IP-only

   The intended tunnel selection procedure is:

      (1) Find a tunnel whose endpoint IPv4 address is 203.0.113.1 and
      whose color is RED.  If it is unsuccessful, find a tunnel whose
      endpoint IPv4 address is 203.0.113.1 and whose color is BLUE.  If
      it is unsuccessful, find a tunnel whose endpoint IPv4 address is
      203.0.113.1 and whose color GREEN.

      (2) If the above is unsuccessful, convert the IPv4 address to an
      IPv6 address 2002:cb00:7101::/64.  Find a tunnel whose endpoint
      IPv6 address is 2002:cb00:7101::/64 and whose color is RED.  If it
      is unsuccessful, find a tunnel whose endpoint IPv6 address is
      2002:cb00:7101::/64 and whose color is WHITE.

      (3) If the above is unsuccessful, find a tunnel whose endpoint
      IPv4 address is 203.0.113.1 and who does not have a color.

5.  Provisioning of Tunnel Selection Schemes

   A tunnel selection scheme with extended mapping modes MAY be
   provisioned for a payload prefix on a router which performs tunnel
   selection.  In this case, the scheme may be implemented as a policy
   and applied on the router.  The syntax of such policy varies by
   vendors, and hence is out of the scope of this document.

   The tunnel selection scheme MAY also be provisioned on the BGP next
   hop router or a central controller where the UPDATE message of the
   payload prefix is originated.  To facilitate this, the document
   defines a new "Flexible Color Tunnel Selection" attribute to carry
   the information in the UPDATE message.

   In the case where a given payload prefix has one scheme specified by
   a local policy on the current router, and another scheme received in
   the Flexible Color Tunnel Selection attribute, the router SHOULD
   treat the policy as a higher preference than the received
   information.





Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 7]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   If a payload prefix does not have any associated tunnel selection
   scheme, the default mode applicable to a colored or non-colored
   payload prefix SHOULD be used in tunnel selection.

6.  Flexible Color Tunnel Selection Attribute

   The Flexible Color Tunnel Selection attribute is an optional, non-
   transitive BGP path attribute that is used to carry the information
   of a tunnel selection scheme.  It is defined as a set of Type/Length/
   Value (TLV) triplets.  By advertising the Flexible Color Tunnel
   Selection attribute in the UPDATE message of a payload prefix, the
   BGP speaker expresses the fact that it expects the tunnel selection
   process of the payload prefix to use the contained information.

   This document defines one TLV, i.e. the Extended Mapping Mode TLV.

6.1.  Extended Mapping Mode TLV

   The Extended Mapping Mode TLV carries the information of an extended
   mapping mode.

        0                   1                   2                   3
        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |               0x01            |            Length             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                              Mode                             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                            Color_1 (optional)                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                               ~    (optional)                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                            Color_n (optional)                 |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                 Figure 1

   The TLV Type is 0x01.

   The TLV Length is the total number of octets of the TLV Value field.

   The TLV Value field contains a 4-octet extended mapping mode defined
   as below, and an optional fallback color list.

      1 - IP-color

      2 - Color-only




Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 8]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


      3 - IP-any-color

      4 - IP-only

      5 - Converted-IPv6

      6 - Converted-IPv6-color

      7 - Converted-IPv6-any-color

      8 - Color-profile

   The IP-color, Color-only and Converted-IPv6-color modes MAY
   optionally have a fallback color list.  The list contains one or
   multiple 4-octect color values, i.e. Color_1, ..., Color_n, in the
   order from the highest preference to the lowest preference.

   Extended Mapping Mode TLVs are encoded in the Flexible Color Tunnel
   Selection attribute in the following manner:

      First, an Extended Mapping Mode TLV containing the primary mode is
      added.  If this mode is IP-Color, Color-Only, or Converted-
      IPv6-Color, and if cross-color fallback is applicable to this
      mode, the TLV will contain a fallback color list.

      If there is one or multiple desired fallback modes, an Extended
      Mapping Mode TLV containing the first fallback mode is added.  If
      this mode is IP-Color, Color-Only, or Converted-IPv6-Color, and if
      cross-color fallback is applicable to this mode, the TLV will
      contain a fallback color list.

      This process continues, until an Extended Mapping Mode TLV
      containing the last fallback mode is added.  If this mode is IP-
      Color, Color-Only, or Converted-IPv6-Color, and if cross-color
      fallback is applicable to this mode, the TLV will contain a
      fallback color list.

   In decoding a received Flexible Color Tunnel Selection attribute, a
   receiving router MUST interpret the preference order as the above for
   the Extended Mapping Mode TLVs contained.  If an Extended Mapping
   Mode TLV contains a mode which is not IP-Color, Color-Only, or
   Converted-IPv6-Color but has a fallback color list, the entire
   Flexible Color Tunnel Selection attribute SHOULD be considered as
   malformatted and ignored.  In this case, tunnel selection for the
   payload prefix SHOULD revert to the default color or non-color
   mapping mode.





Yimin Shen & Ravi Singh  Expires March 27, 2020                 [Page 9]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   A receiving router MUST consider a payload prefix as having a
   modified tunnel selection scheme in any of the following situations,
   and perform tunnel selection accordingly:

      The payload prefix did not have a Flexible Color Tunnel Selection
      attribute in the previous UPDATE message, and it has one in the
      latest UPDATE message.  Tunnel selection MUST be performed based
      on the latest tunnel selection scheme.

      The payload prefix had a Flexible Color Tunnel Selection attribute
      in the previous UPDATE message, but it does not have one in the
      latest UPDATE message.  Tunnel selection MUST revert to the
      default color or non-color mapping mode.

      The payload prefix had a Flexible Color Tunnel Selection attribute
      in the previous UPDATE message, and it has one with different
      content in the latest UPDATE message.  Tunnel selection MUST be
      performed based on the latest tunnel selection scheme.

7.  Relationship with Color-Only Bits of Color Extended Community

   [RFC8402] and [BGP-SR-POLICY] define two "Color-Only" bits (i.e.  CO
   bits) in the BGP Color Extended Community for color-based tunnel
   selection in the context of segment routing.  Each of the four
   combinations of the CO bits corresponds to a predefined fallback
   scheme.  This document complements these documents by supporting more
   generic and flexible fallback schemes which are user definable.  In
   fact, the fallback schemes of the CO bits can be fully specified by
   using the Flexible Color Based Tunnel Selection attribute.  If the
   Color Extended Community with CO bits are used in an UPDATE message,
   the Flexible Color Tunnel Selection attribute SHOULD NOT be used at
   the same time, in order to avoid possible collision between them.  In
   case they are both present in an UPDATE message, preference SHOULD be
   given to the CO bits, and the Flexible Color Tunnel Selection
   attribute SHOULD be ignored.

8.  IANA Considerations

   This document requires the IANA to allocate a Path Attribute type
   value for the Flexible Color Tunnel Selection attribute.

9.  Security Considerations

   This document does not introduce any security issues.







Yimin Shen & Ravi Singh  Expires March 27, 2020                [Page 10]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


10.  Acknowledgements

   Thanks to Jeff Hass and Srihari Sangli for their kind reviews and
   comments which helped to improve the clarity of this document.

11.  References

11.1.  Normative References

   [RFC5512]  Mohapatra, P. and E. Rosen, "The BGP Encapsulation
              Subsequent Address Family Identifier (SAFI) and the BGP
              Tunnel Encapsulation Attribute", RFC 5512,
              DOI 10.17487/RFC5512, April 2009,
              <https://www.rfc-editor.org/info/rfc5512>.

   [RFC8402]  Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
              Decraene, B., Litkowski, S., and R. Shakir, "Segment
              Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
              July 2018, <https://www.rfc-editor.org/info/rfc8402>.

   [BGP-SR-POLICY]
              Previdi, S., Filsfils, C., Mattes, P., Rosen, E., Jain,
              D., and S. Lin, "Advertising Segment Routing Policies in
              BGP", draft-previdi-idr-segment-routing-te-policy (work in
              progress), 2019.

   [BGP-TUNNEL-ENCAP]
              Patel, K., Velde, G., and S. Sangli, "The BGP Tunnel
              Encapsulation Attribute", draft-vandevelde-idr-remote-
              next-hop (work in progress), 2019.

11.2.  Informative 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>.

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

Authors' Addresses








Yimin Shen & Ravi Singh  Expires March 27, 2020                [Page 11]


Internet-Draft  BGP Flexible Color-Based Tunnel Selection September 2019


   Yimin Shen
   Juniper Networks
   10 Technology Park Drive
   Westford, MA  01886
   USA

   Phone: +1 9785890722
   Email: yshen@juniper.net


   Ravi Singh
   Individual Contributor

   Email: ravi.singh.ietf@gmail.com





































Yimin Shen & Ravi Singh  Expires March 27, 2020                [Page 12]