Internet DRAFT - draft-peng-lsr-flex-algo-l2bundles

draft-peng-lsr-flex-algo-l2bundles







L                                                                 Y. Zhu
Internet-Draft                                             China telecom
Intended status: Standards Track                                 S. Peng
Expires: June 10, 2021                                           R. Chen
                                                         ZTE Corporation
                                                               G. Mirsky
                                                               ZTE Corp.
                                                        December 7, 2020


                 IGP Flexible Algorithm with L2bundles
                 draft-peng-lsr-flex-algo-l2bundles-05

Abstract

   IGP Flex Algorithm proposes a solution that allows IGPs themselves to
   compute constraint based paths over the network, and it also
   specifies a way of using Segment Routing (SR) Prefix-SIDs and SRv6
   locators to steer packets along the constraint-based paths.  This
   document describes how to create Flex-algo plane with L2bundles
   scenario.

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 June 10, 2021.

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



Zhu, et al.               Expires June 10, 2021                 [Page 1]

Internet-Draft            l2bundles te-affinity            December 2020


   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.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  Color set on L2 Bundle Member . . . . . . . . . . . . . . . .   3
   4.  Flex-algo plane with L2 link resource . . . . . . . . . . . .   3
     4.1.  Best-effort . . . . . . . . . . . . . . . . . . . . . . .   3
     4.2.  Traffic Engineering . . . . . . . . . . . . . . . . . . .   4
   5.  Flex-algo L2bundles Use-cases . . . . . . . . . . . . . . . .   5
     5.1.  Flex-algo L2bundles Examples  . . . . . . . . . . . . . .   5
   6.  IGP L2 Bundle Member Extensions . . . . . . . . . . . . . . .   6
     6.1.  ISIS L2 Bundle Member EAG advertisement . . . . . . . . .   6
     6.2.  OSPF L2 Bundle Member EAG advertisement . . . . . . . . .   6
     6.3.  FAD Flags Extensions  . . . . . . . . . . . . . . . . . .   6
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   7
   10. Normative References  . . . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   IGP Flex Algorithm [I-D.ietf-lsr-flex-algo] proposes a solution that
   allows IGPs themselves to compute constraint based paths over the
   network, and it also specifies a way of using Segment Routing
   [RFC8402] Prefix-SIDs and SRv6 locators to steer packets along the
   constraint-based paths.  It specifies a set of extensions to ISIS,
   OSPFv2 and OSPFv3 that enable a router to send TLVs that identify (a)
   calculation-type, (b) specify a metric-type, and (c )describe a set
   of constraints on the topology, that are to be used to compute the
   best paths along the constrained topology.  A given combination of
   calculation-type, metric-type, and constraints is known as an FAD
   (Flexible Algorithm Definition).

   [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles] introduces the ability
   for IS-IS and OSPF respectively to advertise the link attributes of
   Layer 2 (L2) Bundle Members.  Especially, the link attribute
   "Administrative Group" and "Extended Administrative Group" could be
   individual to each L2 Bundle Member for purpose of Flex-algo plane
   construction, where multiple Flex-algo planes share the same Layer 3
   parent interface and each Flex-algo plane has dedicated L2 Bundle
   Member.



Zhu, et al.               Expires June 10, 2021                 [Page 2]

Internet-Draft            l2bundles te-affinity            December 2020


   This document describes how to create Flex-algo plane with L2bundles
   scenario.

2.  Requirements Language

   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.

3.  Color set on L2 Bundle Member

   Traffic Engineering affinity (also termed as Color) is often to be
   set on the Layer 3 interface and be flooded by IGP-TE.  However, when
   the Layer 3 interface is a Layer 2 interface bundle, operators can
   config individual color for each L2 Bundle Member.  So that IGP link-
   state database will contain the TE affinity attribute of L2 Bundle
   Member, as well as Layer 3 parrent interface.

   Note that Layer 3 interface can join to IGP instance explicitly, but
   L2 Bundle Member not.

   The TE affinity of the Layer 3 parrent interface can be a combined
   value of all L2 Bundle Members.  For example, if the Layer 3 parrent
   interface contains three L2 Bundle Members, each with color "RED",
   "GREEN", "BLUE" respectively, the Layer 3 parrent interface will have
   color "RED|GREEN|BLUE".

4.  Flex-algo plane with L2 link resource

4.1.  Best-effort

   [I-D.ietf-lsr-flex-algo] defines the color-based link resource
   selection rules in FAD to construct the expected Flex-algo plane.
   Each node in the Flex-algo plane will maintain the best path to other
   destination nodes.  In the case of L2bundles scenario, each node need
   check the outgoing Layer 2 bundle interface, to see which L2 Bundle
   Member does exactly belong to the Flex-algo plane.

   For the node who originate the l2-bundle interface, the forwarding
   information of the FIB entry with outgoing Layer 2 bundle interface
   will exactly select the L2 Bundle Member that belongs to the Flex-
   algo plane to forward packets.

   For example, three Flex-algo plane share the same Layer 3 parrent
   interface including three L2 Bundle Members each with color "RED",
   "GREEN", "BLUE" respectively, and each Flex-algo plane with link



Zhu, et al.               Expires June 10, 2021                 [Page 3]

Internet-Draft            l2bundles te-affinity            December 2020


   selection rule "Include-Any RED", "Include-Any GREEN", "Include-Any
   BLUE" respectively, Flex-algo SHOULD NOT simply select the Layer 3
   parrent interface for all Flex-algo plane, but need continue to
   select individual L2 Bundle Member for each specific Flex-algo plane.
   As a reslut, the FIB entry within Flex-algo RED plane will exactly
   choose the L2 Bundle Members with color "RED" to forward packets, the
   FIB entry within Flex-algo GREEN plane will exactly choose the L2
   Bundle Members with color "GREEN" to forward packets, and the FIB
   entry within Flex-algo BLUE plane will exactly choose the L2 Bundle
   Members with color "BLUE" to forward packets.

   The above processing is a local optimization for each node who
   originate l2-bundle interface.

   In addition, for a remote node which received l2-bundle advertisement
   originated from other nodes, if that l2-bundle is in the flex-algo
   based path to a destination node, it must confirm which L2 Bundle
   Member belongs to the flex-algo plane and check that L2 Bundle Member
   really meets the constraints defined in the related FAD.  This
   processing is necessary when Flex-algo is used to optimize SID stack
   depth for an SR-TE policy, e.g, the SR-TE policy defines TE affinity
   to select individual L2 Bundle Member and the SID list may contain
   Adjacency-SID for a specific L2 Bundle Member as described in
   [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles].  Thus the flex-algo
   based path must be consistent with the original path of the optimized
   SR-TE policy, i.e, within the flex-algo plane when each node
   determine its next-hop towards a destination, the determination must
   be based on the above confirmation and check of L2 Bundle Members.

4.2.  Traffic Engineering

   A segment list contains SIDs advertised specifically for the given
   algorithm is possible, such as an inter-domain path contains multiple
   Flex-algo domains, a TI-LFA backup path within the Flex-algo plane,
   or an optimized TE path avoiding congested link within the Flex-algo
   plane.  When the headend or controller compute these SR-TE paths
   within the specific flex-algo plane, in addition to the algorithm
   based Prefix-SID towards the loose node, an Adjacency-SID can also be
   used to strictly steer the packets along the expected L3 link.
   However, if the L3 link is a l2-bundle interface, it is necessary to
   see which L2 Bundle Member exactly belongs to the specific Flex-algo
   plane and use the Adjacency-SID for that member.

   [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles] have defined Adjacency-
   SID for each L2 Bundle Member, that can be used to isolate flows
   among multiple Flex-algo planes, when these Flex-algo planes share
   the same Layer 3 parrent interface.  A specific Adjacency-SID for a




Zhu, et al.               Expires June 10, 2021                 [Page 4]

Internet-Draft            l2bundles te-affinity            December 2020


   specific L2 Bundle Member can be contained in the SID list of the SR
   path within the flex-algo plane and steer the packets to that member.

5.  Flex-algo L2bundles Use-cases

   In some operator's networks, a large number of bundled links are
   deployed to improve the bandwidth.  However, for a specific l2bundle,
   each member has different capabilities, such as different delay,
   bandwidth, AG/EAG, etc.  When the path of an SR policy needs to go
   through an Layer 2 interface bundle, operators want to choose the
   individual member link to meet business requirements.  Different SR
   policy may choose different member links, according to different set
   of constraints.

   When Flex algorithm is enabled in the above networks, even all flex-
   algo planes share all Layer 2 interface bundles, i.e, all FA planes
   have the same structure, an important requirement to Flex-algo is
   that the constraint based computation of Flex-algo must consider how
   to select member links to meet service's criterias.  In addition,
   different flex-algo planes can also have different structures, with
   different set of nodes and links, to meet more strict business
   requirements.

   The extended behavior of flex-algo introduced in this document can
   meet the above requirement, and exactly it is independent with the
   structure of flex-algo plane.

5.1.  Flex-algo L2bundles Examples

   Let's describe the requirement with the following example.

           S======A=====B======C=====D
           \                        /
            \___________E__________/


                   Figure 1: Flex-algo L2bundles Example

   An SR policy from headend S to endpoint D is created, with color
   template {min delay}. Suppose the macthed link is the upper member
   link of l2bundles interface between S-A, A-B, B-C, C-D.  All of them
   have delay 10ms.  So that the computed segment list would be <adj-
   sid@upper-link-of-S-A, adj-sid@upper-link-of-A-B, adj-sid@upper-link-
   of-B-C, adj-sid@upper-link-of-C-D>.

   Suppose the delay of the lower member link of l2bundles interface
   between S-A, A-B, B-C, C-D are all 100ms.  That means the delay of
   the bundles L3 interface between S-A, A-B, B-C, C-D are all 100ms



Zhu, et al.               Expires June 10, 2021                 [Page 5]

Internet-Draft            l2bundles te-affinity            December 2020


   (i.e, subject to the member who have the largest delay).  Also
   suppose the delay of the L3 link between S-E, E-D are all 50ms.

   If flex-algo (eg, algorithm 128) is enabled in the above network to
   optimize the stack depth of the above SR polcy, the related FAD would
   also be {min delay}. However, if all nodes in the network only see L3
   interface resouce, then at node S the computed result to destination
   D would be next-hop E, and at node E the computed result to
   destination D would be next-hop D.  Obviously, after stack
   optimization the flex-algo path S-E-D is not consistent with the
   original path (S-A-B-C-D) of SR policy.

   Thus it will be benefit for flex-algo to see L2 member link during
   CSPF computation.  And, each node in the network, instead of only
   headend, must perform the same behavior to check L2 member link
   resouce, otherwise there may be a loop.

6.  IGP L2 Bundle Member Extensions

6.1.  ISIS L2 Bundle Member EAG advertisement

   [RFC8668] defined TLV-25 for ISIS to advertise the link attributes of
   L2 Bundle Members, and mentioned that the traditional "Administrative
   group (color) Sub-TLV" and "Extended Administrative Group Sub-TLV"
   may appear in TLV-25 and MAY be shared by multiple L2 Bundle Members.
   If we want to advertise unique EAG values for each bundle member, we
   can use multiple L2 Bundle Attribute Descriptors with each specify a
   single bundle member.  So it is sufficient to construct Flex-algo
   plane to select L2 link resource.

6.2.  OSPF L2 Bundle Member EAG advertisement

   [I-D.ketant-lsr-ospf-l2bundles] defined "L2 Bundle Member Attributes
   sub-TLV" for OSPF/OSPFv3 to advertise the link attributes of L2
   Bundle Members, and mentioned that the traditional "Administrative
   group (color) Sub-TLV" and "Extended Administrative Group Sub-TLV"
   are applicable in "L2 Bundle Member Attributes sub-TLV".  Because
   there is "L2 Bundle Member Attributes sub-TLV" per L2 Bundle Member,
   it is also sufficient to construct Flex-algo plane to select L2 link
   resource.

6.3.  FAD Flags Extensions

   A new flag (L-flag) is introduced to both ISIS Flexible Algorithm
   Definition Flags Sub-TLV and OSPF Flexible Algorithm Definition Flags
   Sub-TLV (defined in [I-D.ietf-lsr-flex-algo]), to let each node to
   check L2 member link resouce of interface bundle during flex-
   algorithm path calculation.



Zhu, et al.               Expires June 10, 2021                 [Page 6]

Internet-Draft            l2bundles te-affinity            December 2020


                    0 1 2 3 4 5 6 7...
                   +-+-+-+-+-+-+-+-+...
                   |M|L| |          ...
                   +-+-+-+-+-+-+-+-+...

                                 Figure 2

   where:

   L-flag: introduced by this document.  When set, the traffic
   engineering resouce or attributes of L2 member link of interface
   bundle MUST be checked and used during flex-algorithm path
   calculation.

7.  IANA Considerations

   This document need not define new sub-TLV to IGP for Flex-algo
   combined with l2bundles.

8.  Security Considerations

   There are no new security issues introduced by the extensions in this
   document.

9.  Acknowledgements

   TBD

10.  Normative References

   [I-D.ietf-lsr-flex-algo]
              Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and
              A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex-
              algo-13 (work in progress), October 2020.

   [I-D.ketant-lsr-ospf-l2bundles]
              Talaulikar, K. and P. Psenak, "Advertising L2 Bundle
              Member Link Attributes in OSPF", draft-ketant-lsr-ospf-
              l2bundles-02 (work in progress), June 2020.

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



Zhu, et al.               Expires June 10, 2021                 [Page 7]

Internet-Draft            l2bundles te-affinity            December 2020


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

   [RFC8668]  Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri,
              M., and E. Aries, "Advertising Layer 2 Bundle Member Link
              Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668,
              December 2019, <https://www.rfc-editor.org/info/rfc8668>.

Authors' Addresses

   Yongqing Zhu
   China telecom

   Email: zhuyq8@chinatelecom.cn


   Shaofu Peng
   ZTE Corporation
   No.68 Zijinghua Road, Yuhuatai District
   Nanjing
   China

   Email: peng.shaofu@zte.com.cn


   Ran Chen
   ZTE Corporation
   No.50 Software Avenue, Yuhuatai District
   Nanjing
   China

   Email: chen.ran@zte.com.cn


   Greg Mirsky
   ZTE Corp.

   Email: gregimirsky@gmail.com











Zhu, et al.               Expires June 10, 2021                 [Page 8]