TEAS Working Group
Internet Engineering Task Force (IETF)                      T. Saad, Ed.
Internet-Draft
Request for Comments: 8149                                R. Gandhi, Ed.
Intended status:
Category: Standards Track                                         Z. Ali
Expires: August 6, 2017
ISSN: 2070-1721                                      Cisco Systems, Inc.
                                                              R. Venator
                                      Defense Information Systems Agency
                                                               Y. Kamite
                                          NTT Communications Corporation
                                                        February 2,
                                                              April 2017

          RSVP Extensions For Re-optimization for Reoptimization of Loosely Routed
  Point-to-Multipoint Traffic Engineering Label Switched Paths (LSPs)
                draft-ietf-teas-p2mp-loose-path-reopt-09

Abstract

   Re-optimization

   The reoptimization of a Point-to-Multipoint (P2MP) Traffic Engineered
   Engineering (TE) Label Switched Path (LSP) may be triggered based on
   the need to
   re-optimize reoptimize an individual source-to-leaf (S2L) sub-LSP or
   a set of S2L sub-LSPs, both using Sub-Group-Based Re-optimization the Sub-Group-based reoptimization
   method, or the entire P2MP-TE LSP tree using the Make-Before-Break
   (MBB) method.  This document discusses the application of the
   existing mechanisms for path re-optimization reoptimization of loosely routed Point-to-Point Point-
   to-Point (P2P) TE LSPs to the P2MP-TE LSPs, identifies issues in
   doing so so, and defines procedures to address them.  When re-optimizing reoptimizing
   a large number of S2L sub-LSPs in a tree using the Sub-Group-Based Re-optimization Sub-Group-based
   reoptimization method, the S2L sub-LSP descriptor list may need to be
   semantically fragmented.  This document defines the notion of a
   fragment identifier to help recipient nodes unambiguously reconstruct
   the fragmented S2L sub-LSP descriptor list.

Status of this This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list  It represents the consensus of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid the IETF community.  It has
   received public review and has been approved for a maximum publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of six months this document, any errata,
   and how to provide feedback on it may be updated, replaced, or obsoleted by other documents obtained at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."
   http://www.rfc-editor.org/info/rfc8149.

Copyright Notice

   Copyright (c) 2017 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
   (http://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 . . . . . . . . . . . . . . . . . . . . . . . . .  4 ....................................................3
   2. Conventions Used in This Document  . . . . . . . . . . . . . .  4 ...............................4
      2.1. Key Word Definitions . . . . . . . . . . . . . . . . . . .  4 .......................................4
      2.2. Abbreviations  . . . . . . . . . . . . . . . . . . . . . .  5 ..............................................4
      2.3. Terminology  . . . . . . . . . . . . . . . . . . . . . . .  5 ................................................4
   3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  5 ........................................................5
      3.1. Loosely Routed Inter-domain P2MP-TE LSP Tree . . . . . . .  6 ...............5
      3.2. Existing Mechanism For for Tree-Based P2MP-TE LSP
           Re-optimization  . . . . . . . . . . . . . . . . . . . . .  6
           Reoptimization .............................................6
      3.3. Existing Mechanism For for Sub-Group-Based P2MP-TE LSP
           Re-optimization  . . . . . . . . . . . . . . . . . . . . .  7
           Reoptimization .............................................7
   4. Signaling Extensions For for Loosely Routed P2MP-TE LSP
       Re-optimization  . . . . . . . . . . . . . . . . . . . . . . .  8
      Reoptimization ..................................................8
      4.1. Tree-Based Re-optimization . . . . . . . . . . . . . . . .  8 Reoptimization ..................................8
      4.2. Sub-Group-Based Re-optimization Reoptimization Using Fragment Identifier . . . . . . . . . . . . . . . . . . . . . . . .  9 ...9
   5. Message and Object Definitions . . . . . . . . . . . . . . . . 11 .................................11
      5.1.  P2MP-TE "P2MP-TE Tree Re-evaluation Request Request" Flag  . . . . . . . . . 11 .................11
      5.2.  Preferable "Preferable P2MP-TE Tree Exists Exists" Path Error Sub-code . . . . 11 ......11
      5.3. Fragment Identifier For for S2L sub-LSP Sub-LSP Descriptor . . . . . . 11 ............11
   6. Compatibility  . . . . . . . . . . . . . . . . . . . . . . . . 12 ..................................................12
   7. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 13 ............................................13
      7.1.  P2MP-TE "P2MP-TE Tree Re-evaluation Request Request" Flag  . . . . . . . . . 13 .................13
      7.2.  Preferable "Preferable P2MP-TE Tree Exists Exists" Path Error Sub-code . . . . 13 ......13
      7.3. Fragment Identifier For for S2L sub-LSP Sub-LSP Descriptor . . . . . . 14 ............14
   8. Security Considerations  . . . . . . . . . . . . . . . . . . . 14 ........................................14
   9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 .....................................................15
      9.1. Normative References . . . . . . . . . . . . . . . . . . . 16 ......................................15
      9.2. Informative References . . . . . . . . . . . . . . . . . . 16 ....................................16
   Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . . . 17
   Author's ...................................................16
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 ................................................17

1.  Introduction

   This document defines Resource Reservation Protocol - Traffic
   Engineering (RSVP-TE) [RFC2205] [RFC3209] signaling extensions for
   re-optimizing
   reoptimizing loosely routed Point-to-Multipoint (P2MP) Traffic
   Engineered
   Engineering (TE) Label Switched Paths (LSPs) [RFC4875] in a
   Multi-Protocol
   Multiprotocol Label Switching (MPLS) or Generalized MPLS (GMPLS)
   [RFC3473] network.

   A P2MP-TE LSP is comprised of one or more source-to-leaf (S2L)
   sub-LSPs.  A loosely routed P2MP-TE S2L sub-LSP is defined as one
   whose path does not contain the full explicit route identifying each
   node along the path to the egress node at the time of its signaling
   by the ingress node.  Such an S2L sub-LSP is signaled with no
   Explicit Route Object (ERO) [RFC3209], or with an ERO that contains at
   least one loose next-hop, "loose next hop", or with an ERO that contains an abstract
   node which that identifies more than one node.  This is often the case with
   inter-domain P2MP-TE LSPs where a Path Computation Element (PCE) is
   not used [RFC5440].

   As per [RFC4875], an ingress node may re-optimize reoptimize the entire P2MP-TE
   LSP tree by re-signaling all its S2L sub-LSP(s) sub-LSPs using the
   Make-Before-Break (MBB) method method, or it may re-optimize reoptimize an individual
   S2L sub-
   LSP sub-LSP or a set of S2L sub-LSPs i.e. sub-LSPs, i.e., an individual destination
   or a set of destinations, both using the Sub-Group-Based Re-optimization Sub-Group-based
   reoptimization method.

   [RFC4736] defines an RSVP signaling procedure for re-optimizing reoptimizing the
   path(s) of loosely routed Point-to-Point (P2P) TE LSP(s).  Those  The
   mechanisms listed in [RFC4736] include a method for the ingress node
   to trigger a new path re-evaluation request and a method for the mid-point
   midpoint node to
   notify send a notification regarding the availability of a
   preferred path.  This document discusses the application of those
   mechanisms to the re-optimization reoptimization of loosely routed P2MP-TE LSPs,
   identifies issues in doing so so, and defines procedures to address
   them.

   For re-optimizing reoptimizing a group of S2L sub-LSPs in a tree using the Sub-
   Group-Based Re-optimization
   Sub-Group-based reoptimization method, an S2L sub-LSP descriptor list
   can be used to signal one or more S2L sub-LSPs in an RSVP message.
   This RSVP message may need to be semantically fragmented when a large
   number of S2L sub-LSPs are added to the descriptor list.  This
   document defines the notion of a fragment identifier to help
   recipient nodes unambiguously reconstruct the fragmented S2L sub-LSP
   descriptor list.

2.  Conventions Used in This Document

2.1.  Key Word Definitions

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

2.2.  Abbreviations

   ABR: Area Border Router.

   AS: Autonomous System.

   ERO: Explicit Route Object.

   LSP: Label Switched Path.

   LSR: Label Switching Router.

   RRO: Record Route Object.

   S2L sub-LSP: Source-to-leaf sub Label Switched Path. sub-LSP.

   TE LSP: Traffic Engineering Label Switched Path.

   TE LSP ingress: Head-end/source LSP.

2.3.  Terminology

   This document defines the following terms:

   o  Ingress node: Head-end / source node of the TE LSP.

   TE LSP egress: Tail-end/destination

   o  Egress node: Tail-end / destination node of the TE LSP.

2.3.  Terminology

   The reader

   It is assumed to be that the reader is also familiar with the terminology
   in [RFC4736] and [RFC4875].

3.  Overview

   [RFC4736] defines RSVP signaling extensions for re-optimizing reoptimizing loosely
   routed P2P TE LSPs as follows:

   o  A mid-point midpoint LSR that expands loose next-hop(s) next hop(s) sends a solicited or
      unsolicited PathErr with the Notify error code 25 (as defined in [RFC3209])
      [RFC3209]), with sub-code 6 to indicate "Preferable Path Exists"
      to the ingress node.

   o  An ingress node triggers a path re-evaluation request at all
      mid-point LSR(s)
      midpoint LSRs that expands expand loose next-hop(s) next hop(s) by setting the "Path
      Re-evaluation Request" flag (0x20) in the SESSION_ATTRIBUTES
      Object
      object in the Path message.

   o  The ingress node node, upon receiving this PathErr with the Notify
      error code either (either solicited or unsolicited unsolicited), initiates re-optimization the
      reoptimization of the LSP LSP, using the MBB method with a different
      LSP-ID.

   The following sections discuss the issues that may arise when
   applying the mechanisms defined in [RFC4736] for re-optimizing reoptimizing loosely
   routed P2MP-TE LSPs.

3.1.  Loosely Routed Inter-domain P2MP-TE LSP Tree

   An example of a loosely routed inter-domain P2MP-TE LSP tree is shown
   in Figure 1.  In this example, the P2MP-TE LSP tree consists of 3 three
   S2L sub-LSPs, to destinations (i.e. (i.e., leafs) R10, R11 R11, and R12 from
   the ingress node (i.e. (i.e., source) R1.  Nodes R2 and R5 are branch nodes
   nodes, and nodes ABR3, ABR4, ABR7, ABR8 ABR8, and ABR9 are area border routers. ABRs.  For the
   S2L sub-LSP to destination R10, nodes ABR3, ABR7 ABR7, and R10 are defined
   as loose next-hops. next hops.  For the S2L sub-LSP to destination R11, nodes
   ABR3, ABR8 ABR8, and R11 are defined as loose next-hops. next hops.  For the S2L
   sub-LSP to destination R12, nodes ABR4, ABR9 ABR9, and R12 are defined as
   loose next-hops. next hops.

         <--area1--><--area0--><-area2->

                              ABR7---R10
                             /
                            /
                   ABR3---R5
                  /         \
                 /           \
          R1---R2             ABR8---R11
                 \
                  \
                   ABR4---R6
                            \
                             \
                              ABR9---R12

     Figure 1: An Example of Loosely Routed Inter-domain P2MP-TE LSP Tree

3.2.  Existing Mechanism For for Tree-Based P2MP-TE LSP Re-optimization

   Mechanisms Reoptimization

   The mechanisms defined in [RFC4736] can be easily applied to trigger
   the
   re-optimization reoptimization of an individual S2L sub-LSP or a group of S2L sub-LSP(s).
   sub-LSPs.  However, to apply these [RFC4736] those mechanisms for triggering the
   re-optimization
   reoptimization of a P2MP-TE LSP tree, an ingress node needs to send
   path re-evaluation requests on all (typically 100s of) hundreds) of the
   S2L sub-LSPs sub-LSPs, and the mid-point midpoint LSR needs to send PathErrs with the
   Notify error code for all S2L sub-LSPs.  Such mechanisms may lead to
   the following issues:

   o  A mid-point midpoint LSR that expands loose next-hop(s) next hop(s) may have to
      accumulate the received path re-evaluation request(s) for all S2L
      sub-LSPs (e.g. (e.g., by using a wait timer) and interpret them as a
      re-optimization
      reoptimization request for the whole P2MP-TE LSP tree.  Otherwise,
      a mid-point midpoint LSR may prematurely notify send a "Preferable Path Exists"
      notification for one S2L sub-LSP or a sub-set subset of S2L sub-LSPs.

   o  Similarly, the ingress node may have to heuristically determine
      when to perform P2MP-TE LSP tree re-optimization reoptimization and when to
      perform S2L sub-LSP re-optimization. reoptimization.  For example, an
      implementation may choose to delay re-optimization reoptimization long enough to
      allow all PathErr(s) PathErrs to be received.  Such timer-based procedures
      may produce undesired results.

   o  The ingress node that receives (un)solicited PathErr(s) with the
      Notify error code for one or more individual S2L sub-LSP(s), sub-LSPs may
      prematurely start re-optimizing reoptimizing the sub-set subset of S2L sub-LSPs.
      However, as mentioned in [RFC4875] [RFC4875], Section 14.2, such sub-group based re-
      optimization a
      Sub-Group-based reoptimization procedure may result in data
      duplication that can be avoided if the entire P2MP-TE LSP tree is re-optimized
      reoptimized using the
      Make-Before-Break MBB method with a different LSP-ID,
      especially if the ingress node eventually receives PathErrs with
      the Notify error code for all S2L sub-LSPs of the P2MP-TE
      LSP tree.

   In order to address above mentioned the above-mentioned issues and to align
   re-optimization the
   reoptimization of P2MP-TE LSP LSPs with P2P LSP LSPs [RFC4736], there is a
   need for a mechanism
   is needed to trigger re-optimization the reoptimization of the LSP tree by
   re-signaling all S2L sub-LSPs with a different LSP-ID.  To meet this
   requirement, this document defines RSVP-TE signaling extensions for
   the ingress node to trigger the re-evaluation of the P2MP LSP tree on
   every hop that has a next-hop next hop defined as a loose or abstract hop for
   one or more S2L sub-LSP path, paths, and a mid-point midpoint LSR to signal to the
   ingress node that a preferable LSP tree exists (compared to the
   current path) or that the whole P2MP-TE LSP must be re-optimized reoptimized
   (because of maintenance required on the TE LSP path) (see
   Section 4.1).

3.3.  Existing Mechanism For for Sub-Group-Based P2MP-TE LSP Re-optimization Reoptimization

   Applying the procedures discussed in RFC4736 [RFC4736] in conjunction with
   the
   Sub-Group-Based Re-Optimization Sub-Group-based reoptimization procedures ([RFC4875],
   Section 14.2), an ingress node MAY trigger path re-evaluation
   requests for a set of S2L sub-LSPs in a single Path message using an
   S2L sub-LSP descriptor list.  Similarly, a mid-point midpoint LSR may send a
   PathErr with the Notify error code 25 and sub-code 6 ("Preferable Path
   Exists") containing a list of S2L sub-LSPs transiting through the LSR
   using an S2L sub-LSP descriptor list to notify the ingress node.
   This method can be used for re-optimizing reoptimizing a sub-group of S2L sub-LSPs
   within an LSP tree using the same LSP-ID.  This method can alleviate
   the scale scaling issue associated with sending RSVP messages for
   individual S2L sub-LSPs.  However, this procedure can lead to the
   following issues when used to re-optimize reoptimize the LSP tree:

   o  A Path message that is intended to carry the path re-evaluation
      request as defined in [RFC4736] with a full list of S2L sub-LSPs
      in an S2L sub-LSPs sub-LSP descriptor list will be decomposed at branching
      LSRs, and only a subset of the S2L sub-LSPs that are routed over
      the same next-hop next hop will be added in the descriptor list of the Path
      message propagated to downstream mid-point midpoint LSRs.  Consequently,
      when a preferable path exists at such mid-point midpoint LSRs, the PathErr
      with the Notify error code can only include the sub-set subset of S2L
      sub-LSPs traversing the LSR.  In this case, at the ingress node
      there is no way to distinguish which mode of re-optimization reoptimization to
      invoke, i.e. sub-group based re-optimization i.e., Sub-Group-based reoptimization using the same LSP-ID
      or tree based re-optimization tree-based reoptimization using a different LSP-ID.

   o  An LSR may semantically fragment a large RSVP message (when a
      combined message may not be large enough to fit all S2L sub-LSPs).
      In this case, the ingress node may receive multiple PathErrs with
      sub-sets
      subsets of S2L sub-LSPs in each (due to either the combined Path
      message getting fragmented or the combined PathErr message getting
      fragmented) and would require additional logic to determine how to
      re-optimize
      reoptimize the LSP tree (for example, waiting for some time to
      aggregate all possible PathErr messages before taking an action).
      When fragmented, RSVP messages may arrive out of order, and the
      receiver has no way of knowing the beginning and end of the S2L
      sub-LSP list.

   In order to address the above mentioned above-mentioned issues caused by RSVP message semantic fragmentation,
   fragmentation of an RSVP message, this document defines a new
   fragment identifier object for the S2L sub-LSP descriptor list when
   combining a large number of S2L sub-LSPs in an RSVP message (see
   Section 4.2).

4.  Signaling Extensions For for Loosely Routed P2MP-TE LSP Re-optimization Reoptimization

4.1.  Tree-Based Re-optimization Reoptimization

   To evaluate a P2MP-TE LSP tree on mid-point midpoint LSRs that expand loose
   next-hop(s),
   next hop(s), an ingress node MAY send a Path message with the
   "P2MP-TE Tree Re-evaluation Request (value TBA1)" Request" flag set (bit number 14 in the
   Attribute Flags TLV) as defined in this document.  The ingress node
   selects one of the S2L sub-LSPs of the P2MP-TE LSP tree transiting a mid-point
   midpoint LSR to trigger the re-evaluation request.  The ingress node
   MAY send a re-evaluation request to each border LSR on the path of
   the LSP tree.

   A mid-point midpoint LSR that expands loose next-hop(s) next hop(s) for one or more S2L
   sub-LSP path(s) paths does the following upon receiving a Path message with
   the "P2MP-TE Tree Re-evaluation Request" flag set:

   o  The mid-point midpoint LSR MUST check for a preferable P2MP-TE LSP tree by
      re-evaluating all S2L sub-LSP(s) sub-LSPs that are expanded paths of the
      loose next-hops next hops of the P2MP-TE LSP.

   o  If a preferable P2MP-TE LSP tree is found, the mid-point midpoint LSR MUST
      send to the ingress node an RSVP PathErr with the Notify error code 25 defined in
      [RFC3209] and sub-code "Preferable 13 ("Preferable P2MP-TE Tree Exists (value
      TBA2)" Exists)" as
      defined in this document to the ingress node. document.  The mid-
      point midpoint LSR, in turn, SHOULD NOT
      propagate the "P2MP-TE Tree Re-
      evaluation Re-evaluation Request" flag in the
      subsequent RSVP Path messages sent downstream for the re-evaluated
      P2MP-TE LSP.

   o  If no preferable tree for P2MP-TE LSP LSPs can be found, the mid-point midpoint
      LSR that expands loose next-hop(s) next hop(s) for one or more S2L sub-LSP
      path(s)
      paths MUST propagate the request downstream by setting the
      "P2MP-TE Tree Re-evaluation Request" flag in the LSP_ATTRIBUTES
      Object
      object of the RSVP Path message.

   A mid-point midpoint LSR MAY send an unsolicited PathErr with the Notify error
   code and sub-code the "Preferable P2MP-TE Tree Exists" sub-code to the ingress
   node to notify the ingress node of a preferred P2MP-TE LSP tree when
   it determines that it exists.  In this case, the mid-point midpoint LSR that
   expands loose next- next hop(s) for one or more S2L sub-LSP path(s) paths selects
   one of the S2L
   sub-LSP(s) sub-LSPs of the P2MP-TE LSP tree to send this PathErr
   message to the ingress node.  The mid-point midpoint LSR SHOULD consider how
   frequently it chooses to send such a PathErr - PathErr, considering both that both
   (1) a PathErr may be lost on during its transit to the ingress node and that
   (2) the ingress node may choose not to re-optimize reoptimize the LSP when such a
   PathErr is received.

   The sending of an RSVP PathErr with the Notify error code and the
   "Preferable P2MP-TE Tree Exists" sub-code to the ingress node
   notifies the ingress node of the existence of a preferable P2MP-TE
   LSP tree tree, and upon receiving this PathErr, the ingress node SHOULD
   trigger re-optimization the reoptimization of the LSP LSP, using the MBB method with a
   different LSP-ID.

4.2.  Sub-Group-Based Re-optimization Reoptimization Using Fragment Identifier

   It might be preferable, as per [RFC4875], to re-optimize reoptimize the entire
   P2MP-TE LSP by re-signaling all of its S2L sub-LSP(s) sub-LSPs (Section 14.1,
   "Make-before-Break") 14.1
   ("Make-before-Break") in [RFC4875]) or to re-optimize reoptimize an individual
   S2L sub-LSP or a group of S2L
   sub-LSP(s) i.e. sub-LSPs, i.e., an individual
   destination or a group of destination(s) destinations (Section 14.2
   "Sub-Group-Based Re-Optimization"
   ("Sub-Group-Based Re-Optimization") in [RFC4875]), both using the
   same LSP-ID.  For loosely routed S2L sub-LSPs, this can be achieved
   by using the procedures defined in [RFC4736] to re-optimize reoptimize one or
   more S2L sub-LSP(s) sub-LSPs of the P2MP-TE LSP.

   An ingress node may trigger path re-evaluation requests using the
   procedures defined in [RFC4736] for a set of S2L sub-LSPs by
   combining multiple Path messages using an S2L sub-LSP descriptor list
   [RFC4875].  An S2L sub-LSP descriptor list is created using a series
   of S2L_SUB_LSP Objects objects as defined in [RFC4875].  Similarly, a mid-
   point
   midpoint LSR may send a PathErr with the Notify error code (value 25) 25 and "Preferable
   sub-code 6 ("Preferable Path Exists" (sub-code 6) Exists") containing a list of S2L
   sub-LSPs transiting through the LSR using an S2L sub-LSP descriptor
   list to notify the ingress node of preferable paths available.

   The S2L_SUB_LSP_FRAG object defined in this document is optional,
   with the following exceptions:

   o  As per [RFC4875] (Section 5.2.3, "Transit [RFC4875], Section 5.2.3 ("Transit Fragmentation of Path
      State Information"), when a Path message is not large enough to
      fit all S2L sub-LSPs in the descriptor list, an LSR may
      semantically fragment the message.  In this case, the LSR MUST add
      the S2L_SUB_LSP_FRAG Object object defined in this document for each
      fragment in the S2L sub-LSP descriptor to be able to rebuild the
      list from the received fragments that may arrive out of order.

   The S2L_SUB_LSP_FRAG Object defined in this document is optional.
   However, a node

   o  In any other situation where an RSVP message needs to be
      fragmented, an LSR MUST add the S2L_SUB_LSP_FRAG Object object for each
      fragment in the S2L sub-LSP descriptor when the RSVP message needs to be
   fragmented. descriptor.

   A mid-point midpoint LSR SHOULD wait to accumulate all S2L sub-LSPs before
   attempting to re-evaluate a preferable path when a Path message for
   "Path Re-evaluation Request" is received with the S2L_SUB_LSP_FRAG
   Object.
   object.  If a mid-point midpoint LSR does not receive all fragments of the Path
   message (for example, when fragments are lost) within a configurable
   time interval, it SHOULD trigger the re-evaluation of all S2L
   sub-LSPs of the P2MP-TE LSP transiting on the node.  A mid-point midpoint LSR
   MUST receive at least one fragment of the Path message to trigger
   this behaviour. behavior.

   An ingress node SHOULD wait to accumulate all S2L sub-LSPs before
   attempting to trigger re-optimization reoptimization when a PathErr with the Notify
   error code and the "Preferable Path Exists" sub-code is received with a
   an S2L_SUB_LSP_FRAG Object. object.  If an ingress node does not receive all
   fragments of the PathErr message (for example, when fragments are
   lost) within a configurable time interval, it SHOULD trigger re-
   optimization the
   reoptimization of all S2L sub-LSPs of the P2MP-TE LSP transiting on
   the
   mid-point midpoint node that had sent the PathErr message.  An ingress node
   MUST receive at least one fragment of the PathErr message to trigger
   this behaviour. behavior.

   The S2L_SUB_LSP_FRAG Object object defined in this document has a wider
   applicability in addition to the P2MP-TE LSP re-optimization. reoptimization.  It can
   also be used (in Path and Resv messages) to setup set up a new P2MP-TE LSP, LSP
   and to send other PathErr messages as well as Path Tear and Resv Tear
   messages for a set of S2L sub-LSPs.  This is outside the scope of
   this document.

5.  Message and Object Definitions

5.1.  P2MP-TE  "P2MP-TE Tree Re-evaluation Request Request" Flag

   In order to trigger a tree re-evaluation request, a new flag is
   defined in Attributes the
   Attribute Flags TLV of the LSP_ATTRIBUTES Object object [RFC5420] as follows: is defined
   by this document:

      Bit Number (TBA1, to be assigned by IANA): P2MP-TE 14: "P2MP-TE Tree Re-evaluation Request Request" flag

   The "P2MP-TE Tree Re-evaluation Request" flag is meaningful in a Path
   message of a P2MP-TE S2L sub-LSP and is inserted by the ingress node
   using the message format defined in [RFC6510].

5.2.  Preferable  "Preferable P2MP-TE Tree Exists Exists" Path Error Sub-code

   In order to indicate to an ingress node that a preferable P2MP-TE LSP
   tree exists, the following new sub-code for PathErr messages with
   Notify error code 25 [RFC3209] is defined: defined by this document:

      Sub-code (TBA2, to be assigned by IANA): Preferable 13: "Preferable P2MP-TE Tree
            Exists Exists" sub-code

   When a preferable path for a P2MP-TE LSP tree exists, the mid-point midpoint
   LSR sends a solicited or unsolicited "Preferable P2MP-TE Tree Exists"
   sub-code with a PathErr message with Notify error code 25 to the
   ingress node of the P2MP-TE LSP.

5.3.  Fragment Identifier For for S2L sub-LSP Sub-LSP Descriptor

   The S2L_SUB_LSP Object object [RFC4875] identifies a particular S2L sub-LSP
   belonging to the P2MP-TE LSP.  An S2L sub-LSP descriptor list is
   created using a series of S2L_SUB_LSP Objects objects as defined in
   [RFC4875].  The RSVP message may need to be semantically fragmented
   [RFC4875] due to a large number of S2L sub-LSPs added in the
   descriptor list, and such fragments may be received our out of order.  To
   be able to rebuild the fragmented S2L sub-LSP descriptor list
   correctly, the following Object object is defined to identify the fragments. fragments:

   S2L_SUB_LSP_FRAG: Class-Num TBA3 by IANA

   +---------------+---------------+---------------+---------------+ Class Number 204

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Length (8 bytes)     | Class-Num TBA3| Class Num 204 |   C-Type 1    |
   +---------------+---------------+---------------+---------------+
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Fragment ID        | Fragments Tot | Tot.| Fragment Num Num. |
   +---------------+---------------+---------------+---------------+
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   Fragment ID: 16-bit integer in the range of 1 to 65535.

      This value is incremented for each new RSVP message that needs to
      be semantically fragmented.  The fragment ID is reset to 1 when it
      reaches the maximum value of 65535.  The scope of the fragment ID
      is limited to the RSVP message type (e.g. (e.g., Path) carrying the
      fragment.  In other words, fragment IDs do not have any
      correlation between different RSVP message types (e.g. (e.g., Path and
      PathErr).  The receiver does not check to ensure if that the
      consecutive new RSVP messages (e.g. (e.g., Path messages) are received
      with fragment IDs incremented by 1.

   Fragments Total: 8-bit integer in the range of 1 to 255.

      This value indicates the number of fragments sent for the given
      RSVP message.  This value MUST be the same in all fragmented RSVP
      messages with a common Fragment fragment ID.

   Fragment Number: 8-bit integer in the range of 1 to 255.

      This value indicates the position of this fragment in the given
      RSVP message.

   The format of an S2L sub-LSP descriptor message is as follows:

      <S2L sub-LSP descriptor> ::=
                       [ <S2L_SUB_LSP_FRAG> ]
                         <S2L_SUB_LSP>
                       [ <P2MP SECONDARY_EXPLICIT_ROUTE> ]

   The S2L_SUB_LSP_FRAG Object object is added before adding the S2L_SUB_LSP
   Object
   object in the semantically fragmented RSVP message.

6.  Compatibility

   The LSP_ATTRIBUTES Object object has been defined in [RFC5420] and its
   message formats in [RFC6510] with class numbers in the form 11bbbbbb,
   which ensures compatibility with non-supporting nodes.  Per
   [RFC2205], nodes not supporting this extension will ignore the new
   flag defined for this Object object in this document but and will forward it
   without modification.

   The S2L_SUB_LSP_FRAG Object object has been defined with class numbers in
   the form 11bbbbbb, which ensures compatibility with non-supporting
   nodes.  Per [RFC2205], nodes not supporting this Object object will ignore
   the Object but object and will forward it without modification.

7.  IANA Considerations

   IANA is requested to administer assignment of new values for
   namespace defined in this document and summarized in this section. has performed the actions described below.

7.1.  P2MP-TE  "P2MP-TE Tree Re-evaluation Request Request" Flag

   IANA maintains a name space for RSVP-TE TE parameters the "Resource Reservation Protocol-Traffic Engineering
   (RSVP-TE) Parameters" registry (see
   http://www.iana.org/assignments/rsvp-te-parameters).  From the
   registries in this name space "Attribute Flags", allocation
   <http://www.iana.org/assignments/rsvp-te-parameters>).  Per
   Section 5.1 of this document, IANA has registered a new flag is requested (Section 5.1).

   The following in the
   "Attribute Flags" registry.  This new flag is defined for the Attributes
   Attribute Flags TLV in the LSP_ATTRIBUTES Object object [RFC5420].  The numeric value is to be assigned
   by IANA.

   o  P2MP-TE Tree Re-evaluation Request Flag:

   +--------+---------------+---------+---------+---------+-----------+

   +-----+---------------+----------+----------+-----+-----+-----------+
   | Bit No | Attribute     | Carried Name          | Carried Attribute| Attribute| RRO | Carried ERO | Reference |
   | No  | Flag Name               | in Path Flags    | in Resv Flags    | in RRO     |     |           |
   |     |               | Path     | Resv     |     | or ERO     |           |
   +--------+---------------+---------+---------+---------+-----------+
   +-----+---------------+----------+----------+-----+-----+-----------+
   |     | TBA1 by| P2MP-TE Tree  | Yes      | No       | No  | No  | This      |
   | IANA 14  | Re-evaluation |          |          |     |     | document  |
   +--------+---------------+---------+---------+---------+-----------+
   |     | Request       |          |          |     |     |           |
   +-----+---------------+----------+----------+-----+-----+-----------+

7.2.  Preferable  "Preferable P2MP-TE Tree Exists Exists" Path Error Sub-code

   IANA maintains a name space for RSVP protocol parameters the "Resource Reservation Protocol (RSVP) Parameters"
   registry (see
   http://www.iana.org/assignments/rsvp-parameters).  From <http://www.iana.org/assignments/rsvp-parameters>).
   Per Section 5.2 of this document, IANA has registered a new error
   code in the
   sub-registry "Sub-Codes - 25 Notify Error" in registry sub-registry of the "Error
   Codes and Globally-Defined Error Value Sub-Codes", allocation of a new
   error code is requested (Section 5.2). Sub-Codes" registry.

   As defined in [RFC3209], the Error Code error code 25 in the ERROR SPEC Object ERROR_SPEC object
   corresponds to a PathErr with the Notify error.  This document adds a
   new "Preferable P2MP-TE Tree Exists" sub-code for this PathErr as
   follows:

   o  Preferable P2MP-TE Tree Exists sub-code:

   +----------+--------------------+---------+---------+-----------+
   | Sub-code Value    | Sub-code Description        | PathErr | PathErr | Reference |
   | value          | Description                    | Code    | Name    |           |
   +----------+--------------------+---------+---------+-----------+
   | TBA2 by  13      | Preferable P2MP-TE | 25      | Notify  | This      |
   | IANA          | Tree Exists        |         | Error   | document  |
   +----------+--------------------+---------+---------+-----------+

7.3.  Fragment Identifier For for S2L sub-LSP Sub-LSP Descriptor

   IANA maintains a name space for RSVP protocol parameters the "Resource Reservation Protocol (RSVP) Parameters"
   registry (see
   http://www.iana.org/assignments/rsvp-parameters).  From <http://www.iana.org/assignments/rsvp-parameters>).
   Per Section 5.3 of this document, IANA has registered a new class
   number in the registry "Class Names, Class Numbers, and Class Types", allocation of new
   Class-Num is requested (Section 5.3).

   o Types" registry.

   +-----------------+---------------------------+-----------------+
   | Class Number    | Class Name                | Reference       |
   +-----------------+---------------------------+-----------------+
   | 204             | S2L_SUB_LSP_FRAG Object:          | This document   |
   +-----------------+---------------------------+-----------------+

   IANA has also created the "Class Types or C-Types - 204
   S2L_SUB_LSP_FRAG" registry and populated it as follows:

   +-----------------+---------------------------+-----------------+
   | Class-Num value Value           | Description               | Reference       |
   +-----------------+---------------------------+-----------------+
   | TBA3 by IANA 1               | S2L_SUB_LSP_FRAG          | This document   |
   +-----------------+---------------------------+-----------------+

8.  Security Considerations

   This document defines RSVP-TE signaling extensions to allow an
   ingress node of a P2MP-TE LSP to request the re-evaluation of the LSP
   tree downstream of a node, node and for to allow a mid-point midpoint LSR to notify the
   ingress node of the existence of a preferable tree by sending a
   PathErr.
   PathErr message.  As per [RFC4736], in the case of a P2MP-TE LSP S2L
   sub-LSP spanning multiple domains, it may be desirable for a mid-point midpoint
   LSR to modify the RSVP PathErr message defined in this document to preserve confidentiality
   across domains.

   This document also defines a fragment identifier for the S2L sub-LSP
   descriptor when combining a large number of S2L sub-LSPs in an RSVP
   message and the message needs to be semantically fragmented.  The
   introduction of the fragment identifier, by itself, introduces no
   additional information to signaling.  For a general discussion on
   security issues related to MPLS and GMPLS related security issues, GMPLS, see the MPLS/GMPLS
   security framework [RFC5920].

9.  References

9.1.  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. 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC2205]  Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
              Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
              Functional Specification", RFC 2205, DOI 10.17487/RFC2205,
              September 1997. 1997, <http://www.rfc-editor.org/info/rfc2205>.

   [RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
              and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
              Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001. 2001,
              <http://www.rfc-editor.org/info/rfc3209>.

   [RFC4736]  Vasseur, JP., Ed., Ikejiri, Y. Y., and R. Zhang, R,
              "Reoptimization of Multiprotocol Label Switching (MPLS)
              Traffic Engineering (TE) Loosely Routed Label Switched
              Path (LSP)", RFC 4736, DOI 10.17487/RFC4736,
              November 2006. 2006, <http://www.rfc-editor.org/info/rfc4736>.

   [RFC4875]  Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
              Yasukawa, Ed., "Extensions to Resource Reservation
              Protocol - Traffic Engineering (RSVP-TE) for
              Point-to-Multipoint TE Label Switched Paths (LSPs)",
              RFC 4875, DOI 10.17487/RFC4875, May 2007. 2007,
              <http://www.rfc-editor.org/info/rfc4875>.

   [RFC5420]  Farrel, A., Ed., Papadimitriou, D., Vasseur, JP., and Ayyangar,
              A., A.
              Ayyangarps, "Encoding of Attributes for MPLS LSP
              Establishment Using Resource Reservation Protocol Traffic
              Engineering (RSVP-TE)", RFC 5420, DOI 10.17487/RFC5420,
              February 2009. 2009, <http://www.rfc-editor.org/info/rfc5420>.

9.2.  Informative References

   [RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Resource ReserVation
              Protocol-Traffic Engineering (RSVP-TE) Extensions",
              RFC 3473, DOI 10.17487/RFC3473, January 2003. 2003,
              <http://www.rfc-editor.org/info/rfc3473>.

   [RFC5440]  Vasseur, JP., Ed., and JL. Le Roux, Ed., "Path Computation
              Element (PCE) Communication Protocol (PCEP)", RFC 5440,
              DOI 10.17487/RFC5440, March 2009. 2009,
              <http://www.rfc-editor.org/info/rfc5440>.

   [RFC5920]  Fang, L., Ed., "Security Framework for MPLS and GMPLS
              Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010. 2010,
              <http://www.rfc-editor.org/info/rfc5920>.

   [RFC6510]  Berger, L. and G. Swallow, "Resource Reservation Protocol
              (RSVP) Message Formats for Label Switched Path (LSP)
              Attributes Objects", RFC 6510, DOI 10.17487/RFC6510,
              February 2012. 2012, <http://www.rfc-editor.org/info/rfc6510>.

Acknowledgments

   The authors would like to thank Loa Andersson, Sriganesh Kini, Curtis
   Villamizar, Dimitri Papadimitriou, Nobo Akiya, Vishnu Pavan Beeram Beeram,
   and Joel M. Halpern for reviewing this document and providing many
   useful comments and suggestions.  The authors would also like to
   thank Ling Zeng with Cisco Systems for implementing the mechanisms
   defined in this document.  A special thanks to Adrian Farrel for his
   thorough review of this document.

Author's

Authors' Addresses

   Tarek Saad (editor)
   Cisco Systems

   EMail: Systems, Inc.

   Email: tsaad@cisco.com

   Rakesh Gandhi (editor)
   Cisco Systems

   EMail: Systems, Inc.

   Email: rgandhi@cisco.com

   Zafar Ali
   Cisco Systems

   EMail: Systems, Inc.

   Email: zali@cisco.com

   Robert H. Venator
   Defense Information Systems Agency

   EMail:

   Email: robert.h.venator.civ@mail.mil

   Yuji Kamite
   NTT Communications Corporation

   EMail:

   Email: y.kamite@ntt.com