draft-ietf-ccamp-loose-path-reopt-02.txt   rfc4736.txt 
Networking Working Group JP. Vasseur, Ed. Network Working Group JP. Vasseur, Ed.
Internet-Draft Cisco Systems, Inc Request for Comments: 4736 Cisco Systems, Inc.
Proposed Status: Informational Y. Ikejiri Category: Informational Y. Ikejiri
Expires: August 12, 2006 NTT Communications Corporation NTT Communications Corporation
R. Zhang R. Zhang
BT Infonet BT Infonet
February 8, 2006 November 2006
Reoptimization of Multiprotocol Label Switching (MPLS) Traffic Reoptimization of Multiprotocol Label Switching (MPLS) Traffic
Engineering (TE) loosely routed Label Switch Path (LSP) Engineering (TE) Loosely Routed Label Switched Path (LSP)
draft-ietf-ccamp-loose-path-reopt-02.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any Status of This Memo
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering This memo provides information for the Internet community. It does
Task Force (IETF), its areas, and its working groups. Note that not specify an Internet standard of any kind. Distribution of this
other groups may also distribute working documents as Internet- memo is unlimited.
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Copyright Notice
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."
The list of current Internet-Drafts can be accessed at Copyright (C) The IETF Trust (2006).
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at Abstract
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 12, 2006. This document defines a mechanism for the reoptimization of loosely
routed MPLS and GMPLS (Generalized Multiprotocol Label Switching)
Traffic Engineering (TE) Label Switched Paths (LSPs) signaled with
Resource Reservation Protocol Traffic Engineering (RSVP-TE). This
document proposes a mechanism that allows a TE LSP head-end Label
Switching Router (LSR) to trigger a new path re-evaluation on every
hop that has a next hop defined as a loose or abstract hop and a
mid-point LSR to signal to the head-end LSR that a better path exists
(compared to the current path) or that the TE LSP must be reoptimized
(because of maintenance required on the TE LSP path). The proposed
mechanism applies to the cases of intra- and inter-domain (Interior
Gateway Protocol area (IGP area) or Autonomous System) packet and
non-packet TE LSPs following a loosely routed path.
Copyright Notice Table of Contents
Copyright (C) The Internet Society (2006). 1. Introduction ....................................................3
2. Terminology .....................................................3
2.1. Requirements Language ......................................4
3. Establishment of a Loosely Routed TE LSP ........................4
4. Reoptimization of a Loosely Routed TE LSP Path ..................6
5. Signaling Extensions ............................................7
5.1. Path Re-Evaluation Request .................................7
5.2. New Error Value Sub-Codes ..................................7
6. Mode of Operation ...............................................7
6.1. Head-End Reoptimization Control ............................7
6.2. Reoptimization Triggers ....................................8
6.3. Head-End Request versus Mid-Point Explicit
Notification Functions .....................................8
6.3.1. Head-End Request Function ...........................8
6.3.2. Mid-Point Explicit Notification ....................10
6.3.3. ERO Caching ........................................10
7. Applicability and Interoperability .............................11
8. IANA Considerations ............................................11
9. Security Considerations ........................................11
10. Acknowledgements ..............................................12
11. References ....................................................12
11.1. Normative References .....................................12
11.2. Informative References ...................................12
Abstract 1. Introduction
This document defines a mechanism for the reoptimization of loosely This document defines a mechanism for the reoptimization of loosely
routed MPLS and GMPLS (Generalized Multiprotocol Label Switching) routed MPLS and GMPLS (Generalized Multiprotocol Label Switching)
Traffic Engineering (TE) LSPs signaled with RSVP-TE. This document Traffic Engineering LSPs signaled with RSVP-TE (see [RFC3209] and
proposes a mechanism that allows a TE LSP head-end LSR to trigger a [RFC3473]). A loosely routed LSP is defined as one that does not
new path re-evaluation on every hop having a next hop defined as a contain a full, explicit route identifying each LSR along the path of
loose or abstract hop and a mid-point LSR to signal to the head-end the LSP at the time it is signaled by the ingress LSR. Such an LSP
LSR that a better path exists (compared to the current path in use) is signaled with no Explicit Route Object (ERO), with an ERO that
or that the TE LSP must be reoptimized because of some maintenance contains at least one loose hop, or with an ERO that contains an
required on the TE LSP path. The proposed mechanism applies to the abstract node that is not a simple abstract node (that is, an
cases of intra and inter-domain (IGP area or Autonomous System) abstract node that identifies more than one LSR).
packet and non-packet TE LSPs following a loosely routed path.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The Traffic Engineering Working Group (TE WG) has specified a set of
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this requirements for inter-area and inter-AS MPLS Traffic Engineering
document are to be interpreted as described in RFC 2119 [RFC2119]. (see [RFC4105] and [RFC4216]). Both requirements documents specify
the need for some mechanism providing an option for the head-end LSR
to control the reoptimization process should a more optimal path
exist in a downstream domain (IGP area or Autonomous System). This
document defines a solution to meet this requirement and proposes two
mechanisms:
Table of Contents (1) The first mechanism allows a head-end LSR to trigger a new path
re-evaluation on every hop that has a next hop defined as a loose
hop or abstract node and get a notification from the mid-point as
to whether a better path exists.
1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 (2) The second mechanism allows a mid-point LSR to explicitly signal
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 to the head-end LSR either that a better path exists to reach a
3. Establishment of a loosely routed TE LSP . . . . . . . . . . . 4 loose/abstract hop (compared to the current path) or that the TE
4. Reoptimization of a loosely routed TE LSP path . . . . . . . . 6 LSP must be reoptimized because of some maintenance required
5. Signalling extensions . . . . . . . . . . . . . . . . . . . . 6 along the TE LSP path. In this case, the notification is sent by
5.1. Path re-evaluation request . . . . . . . . . . . . . . . . 7 the mid-point LSR without being polled by the head-end LSR.
5.2. New error value sub-codes . . . . . . . . . . . . . . . . 7
6. Mode of operation . . . . . . . . . . . . . . . . . . . . . . 7
6.1. Head-end reoptimization control . . . . . . . . . . . . . 7
6.2. Reoptimization triggers . . . . . . . . . . . . . . . . . 8
6.3. Head-end request versus mid-point explicit
notification functions . . . . . . . . . . . . . . . . . . 8
6.3.1. Head-end request function . . . . . . . . . . . . . . 8
6.3.2. Mid-point explicit notification . . . . . . . . . . . 9
6.3.3. ERO caching . . . . . . . . . . . . . . . . . . . . . 10
7. Applicability and Interoperability . . . . . . . . . . . . . . 10
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
9. Security Considerations . . . . . . . . . . . . . . . . . . . 11
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
11.1. Normative References . . . . . . . . . . . . . . . . . . . 12
11.2. Informative References . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Intellectual Property and Copyright Statements . . . . . . . . . . 14
1. Terminology A better path is defined as a lower cost path, where the cost is
determined by the metric used to compute the path.
Terminology used in this document 2. Terminology
ABR: Area Border Router. ABR: Area Border Router.
ERO: Explicit Route Object. ERO: Explicit Route Object.
LSR: Label Switch Router. LSR: Label Switching Router.
TE LSP: Traffic Engineering Label Switched Path. TE LSP: Traffic Engineering Label Switched Path.
TE LSP head-end: head/source of the TE LSP. TE LSP head-end: head/source of the TE LSP.
TE LSP tail-end: tail/destination of the TE LSP. TE LSP tail-end: tail/destination of the TE LSP.
IGP Area: OSPF Area or IS-IS level. Interior Gateway Protocol Area (IGP Area): OSPF Area or IS-IS level.
Intra-area TE LSP: TE LSP whose path does not transit across areas. Intra-area TE LSP: A TE LSP whose path does not transit across areas.
Inter-area TE LSP: A TE LSP whose path transits across at least two Inter-area TE LSP: A TE LSP whose path transits across at least two
different IGP areas. different IGP areas.
Inter-AS MPLS TE LSP: A TE LSP whose path transits across at least Inter-AS MPLS TE LSP: A TE LSP whose path transits across at least
two different ASs or sub-ASs (BGP confederations). two different Autonomous Systems (ASes) or sub-ASes (BGP
confederations).
2. Introduction
This document defines a mechanism for the reoptimization of loosely
routed MPLS and GMPLS (Generalized Multiprotocol Label Switching)
Traffic Engineering LSPs signaled with RSVP-TE (see [RFC3209] and
[RFC3473]). A loosely routed LSP is defined as one that does not
contain a full explicit route identifying each LSR along the path of
the LSP at the time it is signaled by the ingress LSR. Such an LSP
is signaled with no ERO, with an ERO that contains at least one loose
hop, or with an ERO that contains an abstract node that is not a
simple abstract node (that is, an abstract node that identifies more
than one LSR).
The Traffic Engineering Working Group (TE WG) has specified a set of
requirements for inter-area and inter-AS MPLS Traffic Engineering
(see [RFC4105] and [RFC4216]). Both requirements documents specify
the need for some mechanism providing an option for the head-end to
control the reoptimization process should a more optimal path exist
in a downstream domain (IGP area or Autonomous System). This
document defines a solution to meet this requirement and proposes two
mechanisms:
(1) The first mechanism allows a head-end LSR to trigger a new path
re-evaluation on every hop having a next hop defined as a loose hop
or abstract node and get a notification from the mid-point on whether
a better path exists.
(2) The second mechanism allows a mid-point LSR to explicitly signal 2.1. Requirements Language
to the head-end LSR that either a better path exists to reach a
loose/abstract hop (compared to the current path in use) or that the
TE LSP must be reoptimized because of some maintenance required along
the TE LSP path. In this case, the notification is sent by the mid-
point LSR without being polled by the head-end LSR.
A better path is defined as a lower cost path, where the cost is The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
determined by the metric used to compute the path. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
3. Establishment of a loosely routed TE LSP 3. Establishment of a Loosely Routed TE LSP
The aim of this section is purely to remind the mechanisms involved The aim of this section is purely to summarize the mechanisms
in the establishment of a loosely routed TE LSP (in line with involved in the establishment of a loosely routed TE LSP, as
[RFC3209]) and does not introduce any new protocol extensions or specified in [RFC3209]. The reader should see RFC 3209 for a more
mechanisms. detailed description of these mechanisms.
In the context of this document, a loosely routed LSP is defined as In the context of this document, a loosely routed LSP is defined as
one that does not contain a full explicit route identifying each LSR one that does not contain a full, explicit route identifying each LSR
along the path of the LSP at the time it is signaled by the ingress along the path of the LSP at the time it is signaled by the ingress
LSR. Such an LSP is signaled with no ERO, with an ERO that contains LSR. Such an LSP is signaled with no ERO, with an ERO that contains
at least one loose hop, or with an ERO that contains an abstract node at least one loose hop, or with an ERO that contains an abstract node
that is not a simple abstract node (that is, an abstract node that that is not a simple abstract node (that is, an abstract node that
identifies more than one LSR). As specified in [RFC3209], loose hops identifies more than one LSR). As specified in [RFC3209], loose hops
are listed in the ERO object of the RSVP Path message with the L flag are listed in the ERO object of the RSVP Path message with the L flag
of the IPv4 or the IPv6 prefix sub-object set. of the IPv4 or the IPv6 prefix sub-object set.
Each LSR along the path whose next hop is specified as a loose hop or Each LSR along the path whose next hop is specified as a loose hop or
a non-specific abstract node triggers a path computation (also a non-specific abstract node triggers a path computation (also
referred to as an ERO expansion), before forwarding the RSVP Path referred to as an ERO expansion), before forwarding the RSVP Path
message downstream. The computed path may either be partial (up to message downstream. The computed path may be either partial (up to
the next loose hop) or complete (set of strict hops up to the TE LSP the next loose hop) or complete (set of strict hops up to the TE LSP
destination). destination).
Note that the examples in the rest of this document are provided in Note that although the examples in the rest of this document are
the context of MPLS inter-area TE but the proposed mechanism equally provided in the context of MPLS inter-area TE, the proposed mechanism
applies to loosely routed paths within a single routing domain and applies equally to loosely routed paths within a single routing
across multiple Autonomous Systems. The examples below are provided domain and across multiple Autonomous Systems. The examples below
with OSPF as the IGP but the described set of mechanisms similarly are provided with OSPF as the IGP, but the described set of
apply to IS-IS. mechanisms similarly apply to IS-IS.
An example of an explicit loosely routed TE LSP signaling. An example of an explicit loosely routed TE LSP signaling follows.
<---area 1--><-area 0--><-area 2-> <---area 1--><-area 0--><-area 2->
R1---R2----R3---R6 R8---R10 R1---R2----R3---R6 R8---R10
| | | / | \ | | | | / | \ |
| | | / | \ | | | | / | \ |
| | | / | \| | | | / | \|
R4---------R5---R7----R9---R11 R4---------R5---R7----R9---R11
Assumptions Assumptions
- R3, R5, R8 and R9 are ABRs - R3, R5, R8, and R9 are ABRs.
- The path of an inter-area TE LSP T1 from R1 (head-end LSR) to R11 - The path of an inter-area TE LSP T1 from R1 (head-end LSR) to R11
(tail-end LSR) is defined on R1 as the following loosely routed path: (tail-end LSR) is defined on R1 as the following loosely routed
R1-R3(loose)-R8(loose)-R11(loose). R3, R8 and R11 are defined as path: R1-R3(loose)-R8(loose)-R11(loose). R3, R8, and R11 are
loose hops. defined as loose hops.
Step 1: R1 determines that the next hop (R3) is a loose hop (not Step 1: R1 determines that the next hop (R3) is a loose hop (not
directly connected to R1) and then performs an ERO expansion directly connected to R1) and then performs an ERO expansion
operation to reach the next loose hops R3. The new ERO becomes: operation to reach the next loose hops R3. The new ERO becomes:
R2(S)-R3(S)-R8(L)-R11(L) where: S: Strict hop (L=0) L: Loose hop R2(S)-R3(S)-R8(L)-R11(L), where S is a strict hop (L=0) and L is a
(L=1) loose hop (L=1).
The R1-R2-R3 path satisfies T1's set of constraints. The R1-R2-R3 path satisfies T1's set of constraints.
Step 2: the RSVP Path message is then forwarded by R1 following the Step 2: The RSVP Path message is then forwarded by R1 following the
path specified in the ERO object and reaches R3 with the following path specified in the ERO object and reaches R3 with the following
content: R8(L)-R11(L). content: R8(L)-R11(L).
Step 3: R3 determines that the next hop (R8) is a loose hop (not Step 3: R3 determines that the next hop (R8) is a loose hop (not
directly connected to R3) and then performs an ERO expansion directly connected to R3) and then performs an ERO expansion
operation to reach the next loose hops R8. The new ERO becomes: operation to reach the next loose hops R8. The new ERO becomes:
R6(S)-R7(S)-R8(S)-R11(L). R6(S)-R7(S)-R8(S)-R11(L).
Note: in this example, the assumption is made that the path is Note: In this example, the assumption is made that the path is
computed on a per loose hop basis, also referred to a partial route computed on a per-loose-hop basis, also referred to as a partial
computation. Note that other path computation techniques may result route computation. Note that other path computation techniques may
in complete paths (set of strict hops up to the final destination). result in complete paths (set of strict hops up to the final
destination).
Step 4: the same procedure is repeated by R8 to reach T1's Step 4: The same procedure is repeated by R8 to reach T1's
destination (R11). destination (R11).
4. Reoptimization of a loosely routed TE LSP path 4. Reoptimization of a Loosely Routed TE LSP Path
Once a loosely routed explicit TE LSP is set up, it is maintained Once a loosely routed, explicit TE LSP is set up, it is maintained
through normal RSVP procedures. During TE LSP life time, a more through normal RSVP procedures. During the TE LSP lifetime, a more
optimal path might appear between an LSR and its next loose hop (for optimal path might appear between an LSR and its next loose hop (for
the sake of illustration, suppose in the example above that a link the sake of illustration, suppose that in the example above a link
between R6 and R8 is added or restored that provides a preferable between R6 and R8 is added or restored that provides a preferable
path between R3 and R8 (R3-R6-R8) than the existing R3-R6-R7-R8 path between R3 and R8 (R3-R6-R8) than the existing R3-R6-R7-R8
path). Since a preferable (e.g. shorter) path might not be visible path). Since a preferable (e.g., shorter) path might not be visible
from the head-end LSR by means of the IGP if the head-end LSR does from the head-end LSR by means of the IGP if the head-end LSR does
not belong to the head-end IGP area, the head-end cannot make use of not belong to the same IGP area where the associated topology change
this shorter path (and reroute the LSP using a make-before-break occurred, the head-end cannot make use of this shorter path (and
technique as described in [RFC3209]) when appropriate. Hence, a new reroute the LSP using a make-before-break technique as described in
mechanisms specified in this document is required to detect the [RFC3209]) when appropriate. Thus, a new mechanism specified in this
existence of such a preferable path and to notify the head-end LSR document is required to detect the existence of such a preferable
accordingly. path and to notify the head-end LSR accordingly.
This document defines a mechanism that allows: This document defines a mechanism that allows
- A head-end LSR to trigger on every LSR whose next hop is a loose - a head-end LSR to trigger on every LSR whose next hop is a loose
hop or an abstract node the re-evaluation of the current path in hop or an abstract node the re-evaluation of the current path in
order to detect a potentially more optimal path, order to detect a potentially more optimal path; and
- A mid-point LSR whose next hop is a loose-hop or an abstract node - a mid-point LSR whose next hop is a loose-hop or an abstract node
to signal (using a new Error value sub-code carried in a RSVP PERR to signal (using a new Error Value sub-code carried in a RSVP
message) to the head-end LSR that a more preferable path exists (a PathErr message) to the head-end LSR that a preferable path exists
path with a lower cost, where the cost definition is determined by (a path with a lower cost, where the cost definition is determined
some metric). by some metric).
Once the existence of such a preferable path has been notified to the Once the head-end LSR has been notified of the existence of such a
head-end LSR, the head-end LSR can decide (depending on the TE LSP preferable path, it can decide (depending on the TE LSP
characteristics) whether to perform a TE LSP graceful reoptimization characteristics) whether to perform a TE LSP graceful reoptimization
such as the "make-before-break" procedure. such as the "make-before-break" procedure.
There is another scenario whereby notifying the head-end LSR of the There is another scenario whereby notifying the head-end LSR of the
existence of a better path is desirable: if the current path is about existence of a better path is desirable: if the current path is about
the fail due to some (link or node) required maintenance. to fail due to some (link or node) required maintenance.
This mechanism allows the head-end LSR to reoptimize a TE LSP making This mechanism allows the head-end LSR to reoptimize a TE LSP by
use of the non disruptive make-before-break procedure if and only if making use of the non-disruptive make-before-break procedure if and
a preferable path exists and if such a reoptimization is desired. only if a preferable path exists and if such a reoptimization is
desired.
5. Signalling extensions 5. Signaling Extensions
A new flag in the SESSION ATTRIBUTE object and new Error value sub- A new flag in the SESSION ATTRIBUTE object and new Error Value sub-
codes in the ERROR SPEC object are proposed in this document (to be codes in the ERROR SPEC object are proposed in this document.
assigned by IANA).
5.1. Path re-evaluation request 5.1. Path Re-Evaluation Request
The following new flag of the SESSION_ATTRIBUTE object (C-Type 1 and The following new flag of the SESSION_ATTRIBUTE object (C-Type 1 and
7) is defined (suggested value to be confirmed by IANA): 7) is defined:
Path re-evaluation request: 0x20 Path re-evaluation request: 0x20
This flag indicates that a path re-evaluation (of the current path in This flag indicates that a path re-evaluation (of the current path in
use) is requested. Note that this does not trigger any LSP Reroute use) is requested. Note that this does not trigger any LSP Reroute
but instead just signals the request to evaluate whether a preferable but instead just signals a request to evaluate whether a preferable
path exists. path exists.
Note: in case of link bundling for instance, although the resulting Note: In case of link bundling, for instance, although the resulting
ERO might be identical, this might give the opportunity for a mid- ERO might be identical, this might give the opportunity for a mid-
point LSR to locally select another link within a bundle, although point LSR to locally select another link within a bundle. However,
strictly speaking, the ERO has not changed. strictly speaking, the ERO has not changed.
5.2. New error value sub-codes 5.2. New Error Value Sub-Codes
As defined in [RFC3209], the ERROR-CODE 25 in ERROR-SPEC object As defined in [RFC3209], the Error Code 25 in the ERROR SPEC object
corresponds to a Notify Error. corresponds to a Notify Error.
This document adds three new error value sub-codes (suggested values This document adds three new Error Value sub-codes:
to be confirmed by IANA):
6 Preferable path exists 6 Preferable path exists
7 Local link maintenance required 7 Local link maintenance required
8 Local node maintenance required 8 Local node maintenance required
The details about the local maintenance required modes are detailed The details about the local maintenance required modes are in Section
in section 6.3.2. 6.3.2.
6. Mode of operation 6. Mode of Operation
6.1. Head-end reoptimization control 6.1. Head-End Reoptimization Control
The notification process of a preferable path (shorter path or new The notification process of a preferable path (shorter path or new
path due to some maintenance required on the current path) is by path due to some maintenance required on the current path) is by
nature de-correlated from the reoptimization operation. In other nature de-correlated from the reoptimization operation. In other
words, the location where a potentially preferable path is discovered words, the location where a potentially preferable path is discovered
does not have to be where the TE LSP is actually reoptimized. This does not have to be where the TE LSP is actually reoptimized. This
document applies to the context of a head-end reoptimization. document applies to the context of a head-end LSR reoptimization.
6.2. Reoptimization triggers 6.2. Reoptimization Triggers
There are several possible reoptimization triggers. For example, There are several possible reoptimization triggers:
such reoptimization triggers are:
- Timer-based: a reoptimization is triggered (process evaluating - Timer-based: A reoptimization is triggered (process evaluating
whether a more optimal path can be found) when a configurable timer whether a more optimal path can be found) when a configurable timer
expires, expires.
- Event-driven: a reoptimization is triggered when a particular - Event-driven: A reoptimization is triggered when a particular
network event occurs (such as a "Link-UP" event), network event occurs (such as a "Link-UP" event).
- Operator-driven: a reoptimization is manually triggered by the - Operator-driven: A reoptimization is manually triggered by the
Operator. Operator.
It is RECOMMENDED for an implementation supporting the extensions It is RECOMMENDED that an implementation supporting the extensions
proposed in this document to support the aforementioned modes as path proposed in this document support the aforementioned modes as path
re-evaluation triggers. re-evaluation triggers.
6.3. Head-end request versus mid-point explicit notification functions 6.3. Head-End Request versus Mid-Point Explicit Notification Functions
This document defines two functions: This document defines two functions:
1) "Head-end requesting function": the request for a new path 1) "Head-end requesting function": The request for a new path
evaluation of a loosely routed TE LSP is requested by the head-end evaluation of a loosely routed TE LSP is requested by the head-end
LSR. LSR.
2) "Mid-point explicit notification function": a mid-point LSR having 2) "Mid-point explicit notification function": Having determined that
determined that a preferable path (than the current path is use) a preferable path (other than the current path) exists or having
exists or having the need to perform a link/node local maintenance the need to perform a link/node local maintenance, a mid-point LSR
explicitly notifies the head-end LSR that will in turn decide whether explicitly notifies the head-end LSR, which will in turn decide
to perform a reoptimization. whether to perform a reoptimization.
6.3.1. Head-end request function 6.3.1. Head-End Request Function
When a timer-based reoptimization is triggered on the head-end LSR or When a timer-based reoptimization is triggered on the head-end LSR or
the operator manually requests a reoptimization, the head-end LSR the operator manually requests a reoptimization, the head-end LSR
immediately sends an RSVP Path message with the "Path re-evaluation immediately sends an RSVP Path message with the "Path re-evaluation
request" bit of the SESSION-ATTRIBUTE object set. This bit is then request" bit of the SESSION-ATTRIBUTE object set. This bit is then
cleared in subsequent RSVP path messages sent downstream. In order cleared in subsequent RSVP path messages sent downstream. In order
to handle the case of a lost Path message, the solution consists of to handle the case of a lost Path message, the solution consists of
relying on the reliable messaging mechanism described in [RFC2961]. relying on the reliable messaging mechanism described in [RFC2961].
Upon receiving a Path message with the "Path re-evaluation request" Upon receiving a Path message with the "Path re-evaluation request"
bit set, every LSR for which the next abstract node contained in the bit set, every LSR for which the next abstract node contained in the
ERO is defined as a loose hop/abstract node performs the following ERO is defined as a loose hop/abstract node performs the following
set of actions: set of actions:
A path re-evaluation is triggered and the newly computed path is A path re-evaluation is triggered, and the newly computed path is
compared to the existing path: compared to the existing path:
- If a preferable path can be found, the LSR performing the path re- - If a preferable path can be found, the LSR performing the path re-
evaluation MUST immediately send an RSVP PErr to the head-end LSR evaluation MUST immediately send an RSVP PathErr to the head-end
(Error code 25 (Notify), Error sub-code=6 (better path exists)). At LSR (Error code 25 (Notify), Error sub-code=6 (better path
this point, the LSR MAY decide to not propagate such bit in exists)). At this point, the LSR MAY decide not to propagate this
subsequent RSVP Path messages sent downstream for the re-evaluated TE bit in subsequent RSVP Path messages sent downstream for the re-
LSP: this mode is the RECOMMENDED mode for the reasons described evaluated TE LSP; this mode is the RECOMMENDED mode for the reasons
below. described below.
The sending of an RSVP PERR Notify message "Preferable path exists" The sending of an RSVP PathErr Notify message "Preferable path
to the head-end LSR will notify the head-end LSR of the existence of exists" to the head-end LSR will notify the head-end LSR of the
a preferable path (e.g in a downstream area/AS or in another location existence of a preferable path (e.g., in a downstream area/AS or in
within a single domain). Hence, triggering additional path re- another location within a single domain). Therefore, triggering
evaluations on downstream nodes is unnecessary. The only motivation additional path re-evaluations on downstream nodes is unnecessary.
to forward subsequent RSVP Path messages with the "Path re-evaluation The only motivation to forward subsequent RSVP Path messages with
request" bit of the SESSION-ATTRIBUTE object set would be to trigger the "Path re-evaluation request" bit of the SESSION-ATTRIBUTE
path re-evaluation on downstream nodes that could in turn cache some object set would be to trigger path re-evaluation on downstream
potentially better paths downstream with the objective to reduce the nodes that could in turn cache some potentially better paths
signaling setup delay, should a reoptimization be performed by the downstream, with the objective to reduce the signaling setup delay,
head-end LSR. should a reoptimization be performed by the head-end LSR.
- If no preferable path can be found, the recommended mode is for an - If no preferable path can be found, the recommended mode is for an
LSR to relay the request (by setting the "Path re-evaluation" bit of LSR to relay the request (by setting the "Path re-evaluation" bit
the SESSION-ATTRIBUTE object in RSVP path message sent downstream). of the SESSION-ATTRIBUTE object in RSVP path message sent
downstream).
Note that, by preferable path, we mean a path having a lower cost. Note that, by preferable path, we mean a path with a lower cost.
If the RSVP Path message with the "Path re-evaluation request" bit If the RSVP Path message with the "Path re-evaluation request" bit
set is lost, then the next request will be sent when the next set is lost, then the next request will be sent when the next
reoptimization trigger will occur on the head-end LSR. The solution reoptimization trigger will occur on the head-end LSR. The
to handle RSVP reliable messaging has been defined in [RFC2961]. solution to handle RSVP reliable messaging has been defined in
[RFC2961].
The network administrator may decide to establish some local policy The network administrator may decide to establish some local policy
specifying to ignore such request or to consider those requests not specifying to ignore such request or not to consider those requests
more frequently than a certain rate. more frequently than at a certain rate.
The proposed mechanism does not make any assumption of the path The proposed mechanism does not make any assumption of the path
computation method performed by the ERO expansion process. computation method performed by the ERO expansion process.
6.3.2. Mid-point explicit notification 6.3.2. Mid-Point Explicit Notification
By contrast with the head-end request function, in this case, a mid- By contrast with the head-end request function, in this case, a mid-
point LSR whose next hop is a loose hop or an abstract node can point LSR whose next hop is a loose hop or an abstract node can
locally trigger a path re-evaluation when a configurable timer locally trigger a path re-evaluation when a configurable timer
expires, some specific events occur (e.g. link-up event for example) expires, some specific events occur (e.g., link-up event), or the
or the user explicitly requests it. If a preferable path is found user explicitly requests it. If a preferable path is found, the LSR
compared to the path in use, the LSR sends an RSVP PERR to the head- sends an RSVP PathErr to the head-end LSR (Error code 25 (Notify),
end LSR (Error code 25 (Notify), Error sub-code=6 ("preferable path Error sub-code=6 ("preferable path exists").
exists").
There are other circumstances whereby any mid-point LSR MAY send an There is another circumstance whereby any mid-point LSR MAY send an
RSVP PERR message with the objective for the TE LSP to be rerouted by RSVP PathErr message with the objective for the TE LSP to be rerouted
its head-end LSR: when a link or a node will go down for local by its head-end LSR: when a link or a node will go down for local
maintenance reasons. In this case, the LSR where a local maintenance maintenance reasons. In this case, the LSR where a local maintenance
must be performed is responsible for sending an RSVP PERR message must be performed is responsible for sending an RSVP PathErr message
with Error code 25 and Error sub-code=7 or 8 depending on the with Error code 25 and Error sub-code=7 or 8, depending on the
affected network element (link or node). Then the first upstream affected network element (link or node). Then the first upstream
node having performed the ERO expansion MUST perform the following node that has performed the ERO expansion MUST perform the following
set of actions: set of actions:
- The link (sub-code=7) or the node (sub-code=8) MUST be locally - The link (sub-code=7) or the node (sub-code=8) MUST be locally
registered for further reference (the TE database must be updated) registered for further reference (the TE database must be updated).
- The RSVP PERR message MUST be immediately forwarded upstream to the - The RSVP PathErr message MUST be immediately forwarded upstream to
head-end LSR. Note that in the case of TE LSP spanning multiple the head-end LSR. Note that in the case of TE LSP spanning
administrative domains, it may be desirable for the boundary LSR to multiple administrative domains, it may be desirable for the
modify the RSVP PERR message and insert its own address for boundary LSR to modify the RSVP PathErr message and insert its own
confidentiality reason. address for confidentiality.
Upon receiving an RSVP PERR message with Error code 25 and Error sub- Upon receiving an RSVP PathErr message with Error code 25 and Error
code 7 or 8, the Head-end LSR SHOULD perform a TE LSP reoptimization. sub-code 7 or 8, the head-end LSR SHOULD perform a TE LSP
reoptimization.
Note that the two functions (head-end and mid-point driven) are not Note that the two functions (head-end and mid-point driven) are not
exclusive from each other: both the timer and event-driven exclusive of each other: both the timer and event-driven
reoptimization triggers can be implemented on the head-end and/or any reoptimization triggers can be implemented on the head-end or on any
mid-point LSR with potentially different timer values for the timer mid-point LSR with a potentially different timer value for the
driven reoptimization case. timer-driven reoptimization case.
A head-end LSR MAY decide upon receiving an explicit mid-point A head-end LSR MAY decide upon receiving an explicit mid-point
notification to delay its next path re-evaluation request. notification to delay its next path re-evaluation request.
6.3.3. ERO caching 6.3.3. ERO Caching
Once a mid-point LSR has determined that a preferable path exists Once a mid-point LSR has determined that a preferable path exists
(after a reoptimization request has been received by the head-end LSR (after a reoptimization request has been received by the head-end LSR
or the reoptimization timer on the mid-point has expired), the more or the reoptimization timer on the mid-point has expired), the more
optimal path MAY be cached on the mid-point LSR for a limited amount optimal path MAY be cached on the mid-point LSR for a limited amount
of time to avoid having to recompute a path once the head-LSR of time to avoid having to recompute a path once the head-LSR
performs a make-before-break. This mode is optional. A default performs a make-before-break. This mode is optional. A default
value for the caching timer of 5 seconds is suggested. value of 5 seconds for the caching timer is suggested.
7. Applicability and Interoperability 7. Applicability and Interoperability
The procedures described in this document are entirely optional The procedures described in this document are entirely optional
within an MPLS or GMPLS network. Implementations that do not support within an MPLS or GMPLS network. Implementations that do not support
the procedures described in this document will interoperate the procedures described in this document will interoperate
seamlessly with those that do. Further, an implementation that does seamlessly with those that do. Further, an implementation that does
not support the procedures described in this document will not be not support the procedures described in this document will not be
impacted or implicated by a neighboring implementation that does impacted or implicated by a neighboring implementation that does
implement the procedures. implement the procedures.
An ingress implementation that chooses not to support the procedures An ingress implementation that chooses not to support the procedures
described in this document may still achieve re-optimization by described in this document may still achieve re-optimization by
skipping to change at page 11, line 17 skipping to change at page 11, line 23
seamlessly with those that do. Further, an implementation that does seamlessly with those that do. Further, an implementation that does
not support the procedures described in this document will not be not support the procedures described in this document will not be
impacted or implicated by a neighboring implementation that does impacted or implicated by a neighboring implementation that does
implement the procedures. implement the procedures.
An ingress implementation that chooses not to support the procedures An ingress implementation that chooses not to support the procedures
described in this document may still achieve re-optimization by described in this document may still achieve re-optimization by
periodically issuing a speculative make-before-break replacement of periodically issuing a speculative make-before-break replacement of
an LSP without trying to discovery whether a more optimal path is an LSP without trying to discovery whether a more optimal path is
available in a downstream domain. Such a procedure would not be in available in a downstream domain. Such a procedure would not be in
conflict with any mechanisms not already documented in [RFC3209] and conflict with any mechanisms already documented in [RFC3209] and
[RFC3473]. [RFC3473].
An LSR not supporting the "Path re-evaluation request" bit of the An LSR not supporting the "Path re-evaluation request" bit of the
SESSION-ATTRIBUTE object SHALL forward it unmodified. SESSION-ATTRIBUTE object SHALL forward it unmodified.
A head-end LSR not supporting an RSVP PERR with Error code 25 message A head-end LSR not supporting an RSVP PathErr with Error code 25
and Error sub-code = 6, 7 or 8 MUST just silently ignore such RSVP message and Error sub-code = 6, 7, or 8 MUST just silently ignore
PERR message. such an RSVP PathErr message.
8. IANA Considerations 8. IANA Considerations
IANA will assign a new flag named "Path re-evaluation request" in the IANA assigned three new error sub-code values for the RSVP PathErr
SESSION-ATTRIBUTE object (C-Type 1 and 7) specified in [RFC3209]. Notify message (Error code=25):
Suggested value is (to be confirmed by IANA) 0x20.
IANA will also assign three new error sub-code values for the RSVP
PERR Notify message (Error code=25). Suggested values are (to be
confirmed by IANA):
6 Preferable path exists 6 Preferable path exists
7 Local link maintenance required 7 Local link maintenance required
8 Local node maintenance required 8 Local node maintenance required
9. Security Considerations 9. Security Considerations
This document defines a mechanism for a mid-point LSR to notify the This document defines a mechanism for a mid-point LSR to notify the
head-end LSR of this existence of a preferable path or the need to head-end LSR of the existence of a preferable path or the need to
reroute the TE LSP for maintenance purposes. Hence, in case of a TE reroute the TE LSP for maintenance purposes. Hence, in the case of a
LSP spanning multiple administrative domains, it may be desirable for TE LSP spanning multiple administrative domains, it may be desirable
a boundary LSR to modify the RSVP PERR message (Code 25, Error sub- for a boundary LSR to modify the RSVP PathErr message (Code 25, Error
code=6,7 or 8) so as to preserve confidentiality across domains. sub-code = 6, 7, or 8) so as to preserve confidentiality across
Furthermore, a head-end LSR may decide to ignore explicit domains. Furthermore, a head-end LSR may decide to ignore explicit
notification coming from a mid-point residing in another domain. notification coming from a mid-point residing in another domain.
Similarly, an LSR may decide to ignore (or accept but up to a pre- Similarly, an LSR may decide to ignore (or to accept up to a pre-
defined rate) path re-evaluation requests originated by a head-end defined rate) path re-evaluation requests originated by a head-end
LSR of another domain. LSR of another domain.
10. Acknowledgements 10. Acknowledgements
The authors would like to thank Carol Iturralde, Miya Kohno, Francois The authors would like to thank Carol Iturralde, Miya Kohno, Francois
Le Faucheur, Philip Matthews, Jim Gibson, Jean-Louis Le Roux, Kenji Le Faucheur, Philip Matthews, Jim Gibson, Jean-Louis Le Roux, Kenji
Kumaki, Anca Zafir, Dimitri Papadimitriou for their useful comments. Kumaki, Anca Zafir, and Dimitri Papadimitriou for their useful
A special thank to Adrian Farrel for his very valuable inputs. comments. A special thanks to Adrian Farrel for his very valuable
inputs.
11. References 11. References
11.1. Normative References 11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2961] Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, F., [RFC2961] Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, F.,
and S. Molendini, "RSVP Refresh Overhead Reduction and S. Molendini, "RSVP Refresh Overhead Reduction
skipping to change at page 12, line 39 skipping to change at page 12, line 39
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, December 2001. Tunnels", RFC 3209, December 2001.
[RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching [RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching
(GMPLS) Signaling Resource ReserVation Protocol-Traffic (GMPLS) Signaling Resource ReserVation Protocol-Traffic
Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. Engineering (RSVP-TE) Extensions", RFC 3473, January 2003.
11.2. Informative References 11.2. Informative References
[RFC4105] Le Roux, J., Vasseur, J., and J. Boyle, "Requirements for [RFC4105] Le Roux, J.-L., Vasseur, J.-P., and J. Boyle,
Inter-Area MPLS Traffic Engineering", RFC 4105, June 2005. "Requirements for Inter-Area MPLS Traffic Engineering",
RFC 4105, June 2005.
[RFC4216] Zhang, R. and J. Vasseur, "MPLS Inter-Autonomous System [RFC4216] Zhang, R. and J.-P. Vasseur, "MPLS Inter-Autonomous System
(AS) Traffic Engineering (TE) Requirements", RFC 4216, (AS) Traffic Engineering (TE) Requirements", RFC 4216,
November 2005. November 2005.
Authors' Addresses Authors' Addresses
JP Vasseur (editor) JP Vasseur (Editor)
Cisco Systems, Inc Cisco Systems, Inc
1414 Massachusetts Avenue 1414 Massachusetts Avenue
Boxborough, MA 01719 Boxborough, MA 01719
USA USA
Email: jpv@cisco.com EMail: jpv@cisco.com
Yuichi Ikejiri Yuichi Ikejiri
NTT Communications Corporation NTT Communications Corporation
1-1-6, Uchisaiwai-cho, Chiyoda-ku 1-1-6, Uchisaiwai-cho, Chiyoda-ku
Tokyo, 100-8019 Tokyo, 100-8019
Japan Japan
Email: : y.ikejiri@ntt.com EMail: y.ikejiri@ntt.com
Raymond Zhang Raymond Zhang
BT Infonet BT Infonet
2160 E. Grand Ave. 2160 E. Grand Ave.
El Segundo, CA 90025 El Segundo, CA 90025
USA USA
Email: raymond_zhang@bt.infonet.com EMail: raymond_zhang@bt.infonet.com
Intellectual Property Statement Full Copyright Statement
Copyright (C) The IETF Trust (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST,
AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 14, line 29 skipping to change at page 14, line 46
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Disclaimer of Validity Acknowledgement
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 106 change blocks. 
293 lines changed or deleted 272 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/