LSR Working Group                                              W. Britto
Internet-Draft                                                 R. Shetty
Intended status: Standards Track                                C. Barth
Expires: August 26, 2021                                Juniper Networks
                                                                  B. Wen
                                                                 Comcast
                                                                 S. Peng
                                                                 R. Chen
                                                         ZTE Corporation
                                                       February 22, 2021


IGP Extensions for Support of Slice Aggregate Aware Traffic Engineering
                  draft-bestbar-lsr-slice-aware-te-00

Abstract

   A slice aggregate is a collection of packets that match a slice
   policy selection criteria and are given the same forwarding
   treatment.  Slice Aggregate aware Traffic Engineering (SA-TE) is a
   mechanism that facilitates Traffic Engineering (TE) path selection to
   take into account the available network resources associated with a
   specific slice aggregate.  This document specifies the Interior
   Gateway Protocol (IGP) extensions for support of SA-TE.  This
   includes the generalization of the semantics of a number of IGP
   extensions already defined for existing MPLS Traffic Engineering in
   [RFC3630], [RFC4124], [RFC5305] and additional IGP extensions beyond
   those.

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 26, 2021.






Britto, et al.           Expires August 26, 2021                [Page 1]


Internet-Draft             IGP Slice Aware TE              February 2021


Copyright Notice

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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   4
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Resource Allocation . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Resource Sharing and Resource Overbooking . . . . . . . .   5
     4.2.  SA-TE Resource Allocation Model . . . . . . . . . . . . .   5
   5.  Next-hop Filtering Capability . . . . . . . . . . . . . . . .   5
   6.  IS-IS Extensions for SA-TE  . . . . . . . . . . . . . . . . .   7
     6.1.  Network Slicing GENINFO TLV . . . . . . . . . . . . . . .   7
     6.2.  Slice Aggregate Aware Traffic Engineering Capabilities
           APPsub-TLV  . . . . . . . . . . . . . . . . . . . . . . .   7
     6.3.  Slice Aggregate Aware Traffic Engineering Link APPsub-TLV   8
     6.4.  Slice Aggregate Aware Traffic Engineering Link Attributes
           Sub-sub-TLV . . . . . . . . . . . . . . . . . . . . . . .  10
       6.4.1.  Slice Aggregate Aware Traffic Engineering Unreserved
               Bandwidth Sub-sub-sub-TLV . . . . . . . . . . . . . .  10
       6.4.2.  Slice Aggregate Aware Traffic Engineering Residual
               Bandwidth Sub-sub-sub-TLV . . . . . . . . . . . . . .  11
       6.4.3.  Slice Aggregate Aware Traffic Engineering Available
               Bandwidth Sub-sub-sub-TLV . . . . . . . . . . . . . .  11
       6.4.4.  Slice Aggregate Aware Traffic Engineering Utilized
               Bandwidth Sub-sub-sub-TLV . . . . . . . . . . . . . .  12
   7.  OSPF Extensions for SA-TE . . . . . . . . . . . . . . . . . .  12
   8.  Functional Example of Unreserved-Bandwidth Advertisements . .  12
     8.1.  Formula to Compute the Unreserved Bandwidth . . . . . . .  12
     8.2.  Examples  . . . . . . . . . . . . . . . . . . . . . . . .  13
       8.2.1.  Example 1 Results . . . . . . . . . . . . . . . . . .  15
       8.2.2.  Example 2 Results . . . . . . . . . . . . . . . . . .  16
       8.2.3.  Example 3 Results . . . . . . . . . . . . . . . . . .  17
   9.  Scaling Considerations  . . . . . . . . . . . . . . . . . . .  18
     9.1.  Link-State Update Frequency . . . . . . . . . . . . . . .  18



Britto, et al.           Expires August 26, 2021                [Page 2]


Internet-Draft             IGP Slice Aware TE              February 2021


   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  18
     10.1.  Network Slicing GENINFO TLV  . . . . . . . . . . . . . .  18
     10.2.  Network Slicing GENINFO APPsub-TLVs  . . . . . . . . . .  18
     10.3.  SA-TE Link Sub-sub-TLVs  . . . . . . . . . . . . . . . .  19
     10.4.  SA-TE Link Attributes Sub-sub-sub-TLVs . . . . . . . . .  19
   11. Security Considerations . . . . . . . . . . . . . . . . . . .  20
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  20
     12.1.  Normative References . . . . . . . . . . . . . . . . . .  20
     12.2.  Informative References . . . . . . . . . . . . . . . . .  22
   Appendix A.  Contributors . . . . . . . . . . . . . . . . . . . .  22
   Appendix B.  Acknowledgements . . . . . . . . . . . . . . . . . .  23
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  23

1.  Introduction

   Network slicing allows a Service Provider to create independent and
   logical networks on top of a common or shared physical network
   infrastructure.  Such network slices can be offered to customers or
   used internally by the Service Provider to facilitate or enhance
   their service offerings.  A Service Provider can also use network
   slicing to structure and organize the elements of its infrastructure.
   [I-D.bestbar-teas-ns-packet] provides a path control technology
   agnostic solution that a Service Provider can deploy to realize
   network slicing in IP/MPLS networks.  It introduces the notion of a
   slice aggregate and describes how a slice policy can be used to
   realize a slice aggregate by instantiating specific control and data
   plane behaviors on select topological elements in IP/MPLS networks.

   In the control plane slice policy mode described in Section 4.2 of
   [I-D.bestbar-teas-ns-packet], the physical network resources in the
   network can be logically partitioned by having a representation of
   network resources appear in a virtual topology.  The virtual topology
   can contain all or a subset of the physical network resource(s).  The
   logical network resources that appear in the virtual topology can
   reflect a part, whole, or in- excess of the physical network resource
   capacity (when oversubscription is desirable).To perform network
   state dependent path computation and placement (Slice Aggregate aware
   TE) in this mode, the resource reservation on each link needs to be
   slice aggregate aware.  Multiple slice policies may be applied on the
   same physical link.  The slice aggregate network resource
   availability on links is updated when new paths are placed in the
   network.  The slice aggregate resource reservation, in this case, can
   be maintained on each device or be centralized on a resource
   reservation manager that holds reservation states on links in the
   network.

   This document will describe the IGP extensions required to describe a
   network slice aggregate's logical network resources.



Britto, et al.           Expires August 26, 2021                [Page 3]


Internet-Draft             IGP Slice Aware TE              February 2021


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

   The reader is expected to be familiar with the terminology specified
   in [I-D.ietf-teas-ietf-network-slice-definition],
   [I-D.nsdt-teas-ns-framework] and [I-D.bestbar-teas-ns-packet].  The
   term "Network Slice" used in this document must be interpreted as
   "IETF Network Slice" [I-D.ietf-teas-ietf-network-slice-definition].
   For readability, a few key terms from these documents are repeated
   here:

   IETF Network Slice: a well-defined composite of a set of endpoints,
   the Connectivity requirements between subsets of these endpoints, and
   Associated service requirements; the term 'network slice' in this
   Document refers to 'IETF network slice'
   [I-D.ietf-teas-ietf-network-slice-definition].

   Slice Policy: a policy construct that enables instantiation of
   mechanisms in support of IETF network slice specific control and data
   plane behaviors on select topological elements; the enforcement of a
   slice policy results in the creation of a slice aggregate.

   Slice Aggregate: a collection of packets that match a slice policy
   selection criteria and are given the same forwarding treatment; a
   slice aggregate comprises of one or more IETF network slice traffic
   streams; the mapping of one or more IETF network slices to a slice
   aggregate is maintained by the IETF Network Slice Controller.

   Slice Aggregate aware TE (SA-TE): a mechanism for TE path selection
   that takes into account the available network resources associated
   with a specific slice aggregate.

4.  Resource Allocation

   For SA-TE, the existing "Maximum Reservable link bandwidth" MUST be
   maintained, but it remains generalized and interpreted as the
   aggregate usable bandwidth across all slice aggregates.







Britto, et al.           Expires August 26, 2021                [Page 4]


Internet-Draft             IGP Slice Aware TE              February 2021


4.1.  Resource Sharing and Resource Overbooking

   [I-D.bestbar-teas-yang-ns-phd] allows a network administrator to
   apply different overbooking (or underbooking) ratios for different
   slice aggregates or groups of slice aggregates.  The principal method
   to achieve this is through the definition of per slice aggregate
   maximum bandwidth value along with a Shared-Resource-Group identifier
   (SRG).

   When the SRG is included for a slice aggregate within the slice
   policy, resources may be shared between slices of the same shared-
   resource-group.  Strict resources sharing is only enforced between
   shared-resource-groups.

   When there is resource contention, as a result of a reduction of
   network capacity, slice aggregate specific paths may be preempted on
   a priority basis to ensure continuous enforcement of the resource
   allocation policy as defined by the slice policy.

4.2.  SA-TE Resource Allocation Model

   [RFC4125] defines the Maximum Allocation Model (MAM) in support of
   [DST-TE REQ].  Resource guarantees, sharing and overbooking for slice
   aggregates follow the MAM.

5.  Next-hop Filtering Capability

   Per Slice Aggregate Next Hop filtering is an important capability for
   the path computing entity of a slice aggregate specific path.
   Consider the figure below and the incongruent slice aggregate
   membership outlined in Table 1.

                           +----+
                    +------| r2 |-----+
                    |      +----+     |
                    |                 |
         +----+   +----+   +----+   +----+   +----+
         | r0 |---| r1 |===| r3 |===| r5 |---| r6 |
         +----+   +----+   +----+   +----+   +----+
                    |                 |
                    |      +----+     |
                    +------| r4 |-----+
                           +----+

                         Figure 1: Sample Topology






Britto, et al.           Expires August 26, 2021                [Page 5]


Internet-Draft             IGP Slice Aware TE              February 2021


           +-------------------+------------+------------------+
           | Link              | IGP metric | Slice Aggregates |
           +-------------------+------------+------------------+
           | (r0,if1)-(r1,if1) | 10         | SA2, SA1         |
           | (r1,if2)-(r2,if1) | 10         | SA2              |
           | (r2,if2)-(r5,if1) | 10         | SA2              |
           | (r1,if3)-(r3,if1) | 10         | SA2              |
           | (r3,if3)-(r5,if2) | 10         | SA2              |
           | (r1,if4)-(r3,if2) | 10         | SA1              |
           | (r3,if4)-(r5,if3) | 10         | SA1              |
           | (r1,if5)-(r4,if1) | 10         | SA1              |
           | (r4,if2)-(r5,if4) | 10         | SA1              |
           | (r5,if5)-(r6,if1) | 10         | SA2, SA1         |
           +-------------------+------------+------------------+

   Table 1: Incongruent Slice Aggregate membership

   Consider if r0 is the path computing entity and requires a segment-
   routing policy towards r6 via only links and nodes that are members
   of the SA2 slice aggregate and maximizing link utilization via ECMP.

   r1 has 4 equal cost Next Hops to r6 over if2 (via r2), if3 (via r3),
   if4 (via r3), and if5 (via r4).  However, the links from r1 over if4
   (to r3) and over if5 (to r4) are not members of the SA2 slice.

   Without any Per Slice Aggregate Next Hop filtering, r0 would need to
   compute two segment-lists consisting of several segments and load-
   balance equally between them to ensure traffic sent to r1 is
   forwarded over SA2 links.  The two segment-lists may look like:

      segment-list1: [<r2.Node-SID>, <r6.Node-SID>]

      segment-list2: [<r1.if3.Adj-SID>, <r3.if3.Adj-SID>, <r6.Node-SID>]

   When r1 supports Per Slice Aggregate Next Hop filtering on SR
   segments, it can advertise this capability in the SR network. r0 (or
   a PCE) can build a Per Slice aggregate topology and compute Per Slice
   aggregate ECMP paths for an SR node segment.  Thus, for the same
   earlier example, r0 would be able to use a single segment (r6's node-
   SID) to steer over slice aggregate traffic over the SA2 slice.

   As described in [I-D.bestbar-spring-scalable-ns], when a Global
   Identifier as Slice Selector is carried in the packet to identify the
   slice aggregate, r0 can use r6's node-SID to steer the packet over
   the specific next-hops that belong to SA2 slice aggregate.

   For example on transit router r1, the SS field in the packet is used
   to identify the slice aggregate SA2, while r6.node-SID is used to



Britto, et al.           Expires August 26, 2021                [Page 6]


Internet-Draft             IGP Slice Aware TE              February 2021


   determine the subset of next-hops that are member of slice aggregate
   SA2.

6.  IS-IS Extensions for SA-TE

   As discussed in [I-D.bestbar-teas-ns-packet], routing protocols need
   to be extended to carry additional per slice link state and nodes
   need to advertise a slice policy capability.

   This information will not be used by the IS-IS decision process.

6.1.  Network Slicing GENINFO TLV

   [RFC6823] describes the use of GENINFO TLV to advertise application-
   specific information that is not directly related to the operation of
   the IS-IS protocol.  The current document defines a new Network
   Slicing Application Identifier under the Generic Information TLV
   (#251).

   Both V and I flags of the Network Slicing GENINFO TLV SHOULD be
   unset.

   The Network Slicing GENINFO TLV MAY be carried in the zero IS-IS
   instance or a non-zero IS-IS instance.

6.2.  Slice Aggregate Aware Traffic Engineering Capabilities APPsub-TLV

   This document defines a new APPsub-TLV under Network Slicing GENINFO
   TLV, to announce a node's SA-TE capability within a slice policy
   domain.  A node can also advertise its ability to install slice
   aggregate specific Next Hops via this APPsub-TLV.

   The Slice Aggregate Aware Traffic Engineering (SA-TE) Capabilities
   APPsub-TLV may contain optional sub-sub-TLVs.  No sub-sub-TLVs are
   currently defined.

   The SA-TE Capabilities APPsub-TLV has the following format:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Type        |     Length    |            Flags              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   optional sub-sub-TLVs...

                  Figure 2: SA-TE Capabilities APPsub-TLV

   o  Type: (Value TBD by IANA)



Britto, et al.           Expires August 26, 2021                [Page 7]


Internet-Draft             IGP Slice Aware TE              February 2021


   o  Length: 2 + length of sub-sub-TLVs

   o  Flags: 2 octets.  The following flags are defined:

        0                   1
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |N|                             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                    Figure 3: Slicing Capability Flags

   where:

      N-flag: If set, the router supports Per Slice Next Hop filtering.

   For purposes of extensibility, currently only one flag is defined.
   The receipt of a SA-TE Capabilities APPsub-TLV without N flag set is
   valid, but there is no semantic meaning defined at this time.

   The SA-TE Capabilities APPsub-TLV MUST NOT appear more than once in a
   Network Slicing GENINFO TLV.  If it appears more than once, the
   Network Slicing GENINFO TLV MUST be ignored by the receiver.

6.3.  Slice Aggregate Aware Traffic Engineering Link APPsub-TLV

   The SA-TE Link APPsub-TLV is an APPsub-TLV under the Network Slicing
   GENINFO TLV.  This APPsub-TLV is used to advertise link information
   used by a SA-TE Application.  It can carry link identification
   information which can be used by a SA-TE Application to uniquely
   identify a link.

   The following illustrates encoding of the Value field of the IS-IS
   SA-TE Link APPsub-TLV.
















Britto, et al.           Expires August 26, 2021                [Page 8]


Internet-Draft             IGP Slice Aware TE              February 2021


                                             No. of octets
                   +-----------------------+
                   | System ID             |     6
                   +-----------------------+
                   | Psuedonode Number     |     1
                   +-----------------------+
                   | Flags                 |     1
                   +-----------------------+
                   | Link Identification   |
                   | Information           |     0 to 24
                   +-----------------------+
                   | Sub-TLVs              |     Optional
                   +-----------------------+


                 Flags

                       0 1 2 3 4 5 6 7
                      +-+-+-+-+-+-+-+-+
                      |Reserved |S|F|I|
                      +-+-+-+-+-+-+-+-+


                      Figure 4: SA-TE Link APPsub-TLV

   The neighbor is identified by its System ID (6 octets), plus one
   octet to indicate the pseudonode number if the neighbor is on a LAN
   interface.

   The following bit flags are defined

      I bit (0x01): When the I bit is set, the 4-octet Link Local
      Identifier associated with the link immediately follows the Flags.

      F bit (0x02): When the F bit is set, the 4-octet IPv4 interface
      address of the link immediately follows either the Flags (if I bit
      is clear) or the Link Local Identifier (if I bit is set).

      S bit (0x04): When the S bit is set, the 16-octet IPv6 interface
      address of the link immediately follows the Flags (if both F and I
      bits are clear) or the Link Local Identifier (if I flag is set but
      F flag is not) or the IPv4 address (if F bit is set).

   The Link Identification Information could have any or all of the Link
   Local Identifier, IPv4 interface address and IPv6 interface address
   of the link.





Britto, et al.           Expires August 26, 2021                [Page 9]


Internet-Draft             IGP Slice Aware TE              February 2021


6.4.  Slice Aggregate Aware Traffic Engineering Link Attributes Sub-sub-
      TLV

   The SA-TE Link Attributes Sub-sub-TLV is a sub-sub-TLV under the SA-
   TE Link APPsub-TLV.  This sub-sub-TLV advertises various bandwidth
   attributes on a particular link for a specific network slice.

   There MAY be a SA-TE Link Attributes Sub-sub-TLV for each network
   slice the link participates in.

   The "SA-TE Link Attributes" sub-sub-TLV format is illustrated below:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Type       |     Length    |  Reserved     |     Flags     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Slice Aggregate ID                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Optional Sub-sub-sub-TLVs ...

                Figure 5: SA-TE Link Attributes Sub-sub-TLV

      Type: (Value TBD by IANA)

      Length: 4 to 20 based on Flags

      Slice Aggregate ID: 32-bit slice aggregate identifier.

      Flags: 1-octet field for future use.

6.4.1.  Slice Aggregate Aware Traffic Engineering Unreserved Bandwidth
        Sub-sub-sub-TLV

   The SA-TE Unreserved Bandwidth Sub-sub-sub-TLV is a Sub-sub-sub-TLV
   under the SA-TE Link Attributes Sub-sub-TLV.  This Sub-sub-sub-TLV
   advertises the unreserved bandwidth on a particular link for a
   specific network slice aggregate.

   The SA-TE Unreserved Bandwidth Sub-sub-sub-TLV can carry up to eight
   bandwidth values, one for each priority level.  The units are bytes
   (not bits!) per second.

   The "SA-TE Unreserved Bandwidth" Sub-sub-sub-TLV format is
   illustrated below:






Britto, et al.           Expires August 26, 2021               [Page 10]


Internet-Draft             IGP Slice Aware TE              February 2021


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Type       |     Length    |  Reserved     |  Priority#    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         unreserved-bw for the lowest set priority bit         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      //                       . . .                                 //
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         unreserved-bw for the highest set priority bit        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Figure 6: SA-TE Unreserved Bandwidth Sub-sub-sub-TLV

   o  Type: (Value TBD by IANA)

   o  Length: Variable.

   o  Priority#: Bit-map defining the priority values in use.  Up to 8
      priority values can be used.

   o  Unreserved-bw: Unreserved link bandwidth on the link where each
      unreserved-bw entry corresponds to a non-zero bit in the Priority
      field, starting at the least significant bit.

6.4.2.  Slice Aggregate Aware Traffic Engineering Residual Bandwidth
        Sub-sub-sub-TLV

   The SA-TE Residual Bandwidth Sub-sub-sub-TLV is a Sub-sub-sub-TLV
   under the SA-TE Link Attributes Sub-sub-TLV.  This Sub-sub-sub-TLV
   advertises the residual bandwidth on a particular link for a specific
   Network slice aggregate.

   The format of SA-TE Residual Bandwidth Sub-sub-sub-TLV matches the
   format of Unidirectional Residual Bandwidth Sub-TLV defined in
   [RFC8570].

6.4.3.  Slice Aggregate Aware Traffic Engineering Available Bandwidth
        Sub-sub-sub-TLV

   The SA-TE Available Bandwidth Sub-sub-sub-TLV is a Sub-sub-sub-TLV
   under the SA-TE Link Attributes Sub-sub-TLV.  This Sub-sub-sub-TLV
   advertises the available bandwidth on a particular link for a
   specific Network slice aggregate.

   The format of SA-TE Available Bandwidth Sub-sub-sub-TLV matches the
   format of Unidirectional Available Bandwidth Sub-TLV defined in
   [RFC8570].



Britto, et al.           Expires August 26, 2021               [Page 11]


Internet-Draft             IGP Slice Aware TE              February 2021


6.4.4.  Slice Aggregate Aware Traffic Engineering Utilized Bandwidth
        Sub-sub-sub-TLV

   The SA-TE Utilized Bandwidth Sub-sub-sub-TLV is a Sub-sub-sub-TLV
   under the SA-TE Link Attributes Sub-sub-TLV.  This Sub-sub-sub-TLV
   advertises the utilized bandwidth on a particular link for a specific
   Network slice aggregate.

   The format of SA-TE Utilized Bandwidth Sub-sub-sub-TLV matches the
   format of Unidirectional Utilized Bandwidth Sub-TLV defined in
   [RFC8570].

7.  OSPF Extensions for SA-TE

   A future version of this document will define OSPF extensions for SA-
   TE.

8.  Functional Example of Unreserved-Bandwidth Advertisements

   For illustration purposes, we now present a few examples of how these
   extensions may be used.

8.1.  Formula to Compute the Unreserved Bandwidth

   For a slice 's' at priority 'p' on a specific TE link, where:

      s : Slice-name

      p : reservation priority (0-7)

      { S } : Set containing all slice names in the network

   Unreserv-BW(s, p) = MIN (

      [ Max-resv-shared-BW(s) - Sum { Reserved-BW(s, q) } ] for all q <=
      p,

      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for all c =
      { S } & q <= p

   )

   The formula above is generic and applies for all priority values
   (0-7)







Britto, et al.           Expires August 26, 2021               [Page 12]


Internet-Draft             IGP Slice Aware TE              February 2021


8.2.  Examples

   All these examples assume two slice aggregates, SA2 and SA1, with the
   following configuration parameters:

   Per TE link resource allocation:

      Max-BW(interface): 10G (derived from the physical interface BW)

      Max-resv-BW(interface): 10G (default: equal to Max-BW)

   Slice Policy:

      Max-resv-shared-BW(SA1): 10G

      Max-resv-shared-BW(SA2): 7G

      +------+
      |    +-------------+
      |    | .          ( )--->ef (critical priority, p=0)
      |    | .    SA1  (   )-->af1 (high priority, p=1)
      |    | .         (   )-->af2 (normal priority, p=2)
      |    | .          ( )--->be (low priority, p-3)
      |    +-------------+
      |      |
      |    +-------------+
      |    | .          ( )--->ef (critical priority, p=0)
      |    | .   SA2   (   )-->af1 (high priority, p=1)
      |    | .         (   )-->af2 (normal priority, p=2)
      |    | .          ( )--->be (low priority, p=3)
      |    +-------------+
      +------+

          Figure 7: Example 10G Interface with 2 Slice Aggregates

   The reservation priority in the following examples will use the names
   critical, high, normal and low corresponding to priority values 0-3.
   The unreserved-BW for each slice, priority can be described with the
   following formulas:

   Unreserv-BW(SA1, critical) = MIN (

      [ Max-resv-shared-BW(SA1) - Sum { Reserved-BW(SA1, q) } ] for q =
      { critical },

      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = {
      SA1, SA2 } & q = { critical }




Britto, et al.           Expires August 26, 2021               [Page 13]


Internet-Draft             IGP Slice Aware TE              February 2021


   )

   Unreserv-BW(SA1, high) = MIN (

      [ Max-resv-shared-BW(SA1) - Sum { Reserved-BW(SA1, q) } ] for q =
      { critical, high },

      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = {
      SA1, SA2 } & q = { critical, high }

   )

   Unreserv-BW(SA1, normal) = MIN (

      [ Max-resv-shared-BW(SA1) - Sum { Reserved-BW(SA1, q) } ] for q =
      { critical, high, normal },

      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = {
      SA1, SA2 } & q = { critical, high, normal }

   )

   Unreserv-BW(SA1, low) = MIN (

      [ Max-resv-shared-BW(SA1) - Sum { Reserved-BW(SA1, q) } ] for q =
      { critical, high, normal, low },

      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = {
      SA1, SA2 } & q = { critical, high, normal, low }

   )

   Unreserv-BW(SA2, critical) = MIN (

      [ Max-resv-shared-BW(SA2) - Sum { Reserved-BW(SA2, q) } ] for q =
      { critical },

      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = {
      SA1, SA2 } & q = { critical }

   )

   Unreserv-BW(SA2, high) = MIN (

      [ Max-resv-shared-BW(SA2) - Sum { Reserved-BW(SA2, q) } ] for q =
      { critical, high },





Britto, et al.           Expires August 26, 2021               [Page 14]


Internet-Draft             IGP Slice Aware TE              February 2021


      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) ] for c = {
      SA1, SA2 } & q = { critical, high }

   )

   Unreserv-BW(SA2, normal) = MIN (

      [ Max-resv-shared-BW(SA2) - Sum { Reserved-BW(SA2, q) } ] for q =
      { critical, high, normal },

      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) ] for c = {
      SA1, SA2 } & q = { critical, high, normal }

   )

   Unreserv-BW(SA2, low) = MIN (

      [ Max-resv-shared-BW(SA2) - Sum { Reserved-BW(SA2, q) } ] for q =
      { critical, high, normal, low },

      [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) ] for c = {
      SA1, SA2 } & q = { critical, high, normal, low }

   )

8.2.1.  Example 1 Results

   Time0: no LSPs

      Unreserv-BW(SA1, q) = 10G, for q = { critical, high, normal, low }

      Unreserv-BW(SA2, q) = 10G, for q = { critical, high, normal, low }

   Time1: new SA1, normal LSP 5G

      Unreserv-BW(SA1, normal) = 5G

      Unreserv-BW(SA1, low) = 5G

      Unreserv-BW(SA2, normal) = 5G

      Unreserv-BW(SA1, low) = 5G

      No change to other Unreserv-BW values

   Note: If a reservation is made at a priority p, then there will be no
   change to unreserv-bw(s, q) for all q < p.




Britto, et al.           Expires August 26, 2021               [Page 15]


Internet-Draft             IGP Slice Aware TE              February 2021


   Time2: new SA1, critical LSP 5G

      Unreserv-BW(SA1, critical) = 5G

      Unreserv-BW(SA1, high) = 5G

      Unreserv-BW(SA1, normal) = 0G

      Unreserv-BW(SA1, low) = 0G

      Unreserv-BW(SA2, critical) = 5G

      Unreserv-BW(SA2, high) = 5G

      Unreserv-BW(SA2, normal) = 0G

      Unreserv-BW(SA2, low) = 0G

   Time3: new SA2, critical LSP 5G

      -> preempt LSP(SA1, normal)

      Unreserv-BW(SA1, critical) = 0G

      Unreserv-BW(SA1, high) = 0G

      Unreserv-BW(SA2, critical) = 0G

      Unreserv-BW(SA2, high) = 0G

      No change to other Unreserv-BW values

8.2.2.  Example 2 Results

   Time0: no LSPs

      Unreserv-BW(SA1, q) = 10G, for q = { critical, high, normal, low }

      Unreserv-BW(SA2, q) = 10G, for q = { critical, high, normal, low }

   Time1: new SA1, critical LSP 5G

      Unreserv-BW(SA1, critical) = 5G

      Unreserv-BW(SA1, high) = 5G

      Unreserv-BW(SA1, normal) = 5G




Britto, et al.           Expires August 26, 2021               [Page 16]


Internet-Draft             IGP Slice Aware TE              February 2021


      Unreserv-BW(SA1, low) = 5G

      Unreserv-BW(SA2, critical) = 5G

      Unreserv-BW(SA2, high) = 5G

      Unreserv-BW(SA2, normal) = 5G

      Unreserv-BW(SA2, low) = 5G

   Time2: new SA1, critical LSP 5G

      Unreserv-BW(SA1, critical) = 0G

      Unreserv-BW(SA1, high) = 0G

      Unreserv-BW(SA1, normal) = 0G

      Unreserv-BW(SA1, low) = 0G

      Unreserv-BW(SA2, critical) = 0G

      Unreserv-BW(SA2, high) = 0G

      Unreserv-BW(SA2, normal) = 0G

      Unreserv-BW(SA2, low) = 0G

8.2.3.  Example 3 Results

   Time0: no LSPs

      Unreserv-BW(SA1, q) = 10G, for q = { critical, high, normal, low }

      Unreserv-BW(SA2, q) = 10G, for q = { critical, high, normal, low }

   Time1: new SA2, critical LSP 10G

      Unreserv-BW(SA1, critical) = 0G

      Unreserv-BW(SA1, high) = 0G

      Unreserv-BW(SA1, normal) = 0G

      Unreserv-BW(SA1, low) = 0G

      Unreserv-BW(SA2, critical) = 0G




Britto, et al.           Expires August 26, 2021               [Page 17]


Internet-Draft             IGP Slice Aware TE              February 2021


      Unreserv-BW(SA2, high) = 0G

      Unreserv-BW(SA2, normal) = 0G

      Unreserv-BW(SA2, low) = 0G

   Time2: new SA1, normal LSP 5G

      -> not admitted

9.  Scaling Considerations

9.1.  Link-State Update Frequency

   SA-TE applications SHOULD rate limit the link attribute updates
   notified to IGPs.

10.  IANA Considerations

10.1.  Network Slicing GENINFO TLV

   IANA is requested to allocate the IS-IS Application Identifier TBD [2
   suggested] under the Generic Information TLV (#251) [RFC6823] for
   Network Slicing.

   This document defines APPSub-TLVs under Network Slicing GENINFO TLV,
   for which IANA is requested to create a new registry entitled
   "Network Slicing GENINFO Parameters".

10.2.  Network Slicing GENINFO APPsub-TLVs

   IANA is requested to create a subregistry in the Network Slicing
   GENINFO Parameters Registry as follows:

      Sub-Registry: Network Slicing APPsub-TLV Types under IS-IS TLV
      #251 Application Identifier #TBD

      Registration Procedures: IETF Review with additional requirements
      on the documentation of the use being registered as specified in
      Section 10.2 of this document.

      Reference: this document









Britto, et al.           Expires August 26, 2021               [Page 18]


Internet-Draft             IGP Slice Aware TE              February 2021


                  Type      Name                 Reference
               ----------  --------             -----------
                       0   Reserved             <this document>
                       1   SA-TE Capabilities   <this document>
                       2   SA-TE Link           <this document>
                   3-254   Unassigned           <this document>

      Network Slicing APPsub-TLV Types 3 through 254 are available for
      assignment by IETF Review.  The RFC causing such an assignment
      will also include a discussion of security issues and of the rate
      of change of the information being advertised.  Network Slicing
      APPsub-TLVs MUST NOT alter basic IS-IS protocol operation
      including the establishment of adjacencies and the decision
      process for IS-IS [IS-IS], [RFC1195].

10.3.  SA-TE Link Sub-sub-TLVs

   IANA is requested to create a subregistry in the Network Slicing
   GENINFO Parameters Registry as follows:

      Sub-Registry: SA-TE Sub-sub-TLV Types under SA-TE Link APPsub-TLV
      #TBD

      Registration Procedures: IETF Review with additional requirements
      on the documentation of the use being registered as specified in
      Section 10.3 of this document.

      Reference: this document

                  Type      Name                   Reference
               ----------  --------------         -----------
                       0   Reserved               <this document>
                       1   SA-TE Link Attributes  <this document>
                   2-254   Unassigned             <this document>

      Types 2 through 254 are available for assignment by IETF Review.
      The RFC causing such an assignment will also include a discussion
      of security issues and of the rate of change of the information
      being advertised.

10.4.  SA-TE Link Attributes Sub-sub-sub-TLVs

   IANA is requested to create a subregistry in the Network Slicing
   GENINFO Parameters Registry as follows:

      Sub-Registry: SA-TE Sub-sub-sub-TLV Types under SA-TE Link
      Attributes Sub-sub-TLV #TBD




Britto, et al.           Expires August 26, 2021               [Page 19]


Internet-Draft             IGP Slice Aware TE              February 2021


      Registration Procedures: IETF Review with additional requirements
      on the documentation of the use being registered as specified in
      Section 10.4 of this document.

      Reference: this document

                  Type      Name                      Reference
               ----------  --------------------         -----------
                       0   Reserved                     <this document>
                       1   SA-TE Unreserved Bandwidth   <this document>
                    2-36   Unassigned                   <this document>
                      37   SA-TE Residual Bandwidth     <this document>
                      38   SA-TE Available Bandwidth    <this document>
                      39   SA-TE Utilized Bandwidth     <this document>
                   2-254   Unassigned                   <this document>

      Types 2 through 36 and 40 through 254 are available for assignment
      by IETF Review.  The RFC causing such an assignment will also
      include a discussion of security issues and of the rate of change
      of the information being advertised.  Type 37, 38 and 39 have been
      suggested to match with the Sub-TLVs 37, 38 and 39 mentioned in
      the IS-IS "Sub-TLVs for TLVs 22, 23, 25, 141, 222, and 223"
      Registry.

11.  Security Considerations

   The advertisement of the Network Slicing GENINFO TLV and its APPsub-
   TLVs raises no new security issues for IS-IS.  This information will
   not be used by the IS-IS decision process.  Where appropriate, it is
   recommended that either [RFC5304] or [RFC5310] be used.

12.  References

12.1.  Normative References

   [I-D.bestbar-spring-scalable-ns]
              Saad, T. and V. Beeram, "Scalable Network Slicing over SR
              Networks", draft-bestbar-spring-scalable-ns-00 (work in
              progress), December 2020.

   [I-D.bestbar-teas-ns-packet]
              Saad, T., Beeram, V., Wen, B., Ceccarelli, D., Halpern,
              J., Peng, S., Chen, R., and X. Liu, "Realizing Network
              Slices in IP/MPLS Networks", draft-bestbar-teas-ns-
              packet-01 (work in progress), December 2020.






Britto, et al.           Expires August 26, 2021               [Page 20]


Internet-Draft             IGP Slice Aware TE              February 2021


   [I-D.bestbar-teas-yang-ns-phd]
              Saad, T. and V. Beeram, "YANG Data Model for Network Slice
              Per-Hop Definition", draft-bestbar-teas-yang-ns-phd-00
              (work in progress), November 2020.

   [I-D.ietf-teas-ietf-network-slice-definition]
              Rokui, R., Homma, S., Makhijani, K., Contreras, L., and J.
              Tantsura, "Definition of IETF Network Slices", draft-ietf-
              teas-ietf-network-slice-definition-00 (work in progress),
              January 2021.

   [I-D.nsdt-teas-ns-framework]
              Gray, E. and J. Drake, "Framework for Transport Network
              Slices", draft-nsdt-teas-ns-framework-04 (work in
              progress), July 2020.

   [RFC1195]  Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
              dual environments", RFC 1195, DOI 10.17487/RFC1195,
              December 1990, <https://www.rfc-editor.org/info/rfc1195>.

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

   [RFC3630]  Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
              (TE) Extensions to OSPF Version 2", RFC 3630,
              DOI 10.17487/RFC3630, September 2003,
              <https://www.rfc-editor.org/info/rfc3630>.

   [RFC4124]  Le Faucheur, F., Ed., "Protocol Extensions for Support of
              Diffserv-aware MPLS Traffic Engineering", RFC 4124,
              DOI 10.17487/RFC4124, June 2005,
              <https://www.rfc-editor.org/info/rfc4124>.

   [RFC4125]  Le Faucheur, F. and W. Lai, "Maximum Allocation Bandwidth
              Constraints Model for Diffserv-aware MPLS Traffic
              Engineering", RFC 4125, DOI 10.17487/RFC4125, June 2005,
              <https://www.rfc-editor.org/info/rfc4125>.

   [RFC5305]  Li, T. and H. Smit, "IS-IS Extensions for Traffic
              Engineering", RFC 5305, DOI 10.17487/RFC5305, October
              2008, <https://www.rfc-editor.org/info/rfc5305>.

   [RFC6823]  Ginsberg, L., Previdi, S., and M. Shand, "Advertising
              Generic Information in IS-IS", RFC 6823,
              DOI 10.17487/RFC6823, December 2012,
              <https://www.rfc-editor.org/info/rfc6823>.



Britto, et al.           Expires August 26, 2021               [Page 21]


Internet-Draft             IGP Slice Aware TE              February 2021


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

   [RFC8570]  Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward,
              D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE)
              Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March
              2019, <https://www.rfc-editor.org/info/rfc8570>.

12.2.  Informative References

   [ISO10589]
              IANA, "Intermediate system to Intermediate system routing
              information exchange protocol for use in conjunction with
              the Protocol for providing the Connectionless-mode Network
              Service (ISO 8473)", August 1987, <ISO/IEC 10589:2002>.

   [RFC7981]  Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions
              for Advertising Router Information", RFC 7981,
              DOI 10.17487/RFC7981, October 2016,
              <https://www.rfc-editor.org/info/rfc7981>.

   [RFC8200]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", STD 86, RFC 8200,
              DOI 10.17487/RFC8200, July 2017,
              <https://www.rfc-editor.org/info/rfc8200>.

   [RFC8202]  Ginsberg, L., Previdi, S., and W. Henderickx, "IS-IS
              Multi-Instance", RFC 8202, DOI 10.17487/RFC8202, June
              2017, <https://www.rfc-editor.org/info/rfc8202>.

   [RFC8919]  Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and
              J. Drake, "IS-IS Application-Specific Link Attributes",
              RFC 8919, DOI 10.17487/RFC8919, October 2020,
              <https://www.rfc-editor.org/info/rfc8919>.

Appendix A.  Contributors














Britto, et al.           Expires August 26, 2021               [Page 22]


Internet-Draft             IGP Slice Aware TE              February 2021


       Srihari Sangli
       Juniper Networks
       Email: ssangli@juniper.net

       Vishnu Pavan Beeram
       Juniper Networks
       Email: vbeeram@juniper.net

       Tarek Saad
       Juniper Networks
       Email: tsaad@juniper.net

       Chandra Ramachandran
       Juniper Networks
       Email: csekar@juniper.net

Appendix B.  Acknowledgements

   The authors would like to thank Chris Bowers and Shraddha Hegde for
   their valuable review and feedback.

Authors' Addresses

   William Britto
   Juniper Networks

   Email: bwilliam@juniper.net


   Rajesh Shetty
   Juniper Networks

   Email: mrajesh@juniper.net


   Colby Barth
   Juniper Networks

   Email: cbarth@juniper.net


   Bin Wen
   Comcast

   Email: Bin_Wen@cable.comcast.com






Britto, et al.           Expires August 26, 2021               [Page 23]


Internet-Draft             IGP Slice Aware TE              February 2021


   Shaofu Peng
   ZTE Corporation

   Email: peng.shaofu@zte.com.cn


   Ran Chen
   ZTE Corporation

   Email: chen.ran@zte.com.cn









































Britto, et al.           Expires August 26, 2021               [Page 24]