Network Working Group Ping Pan, Ed. (Juniper Networks)Internet Draft Ping Pan, Ed (Ciena Corp) Expires: May 2003 Der-Hwa Gan (Juniper Networks)Expiration Date: July 2002George Swallow (Cisco Systems)Network Working GroupJean Philippe Vasseur (Cisco Systems) Dave Cooper (Global Crossing) AliaAtlasAtlas, Ed (Avici Systems) Markus Jork (Avici Systems) Fast Reroute Extensions to RSVP-TE for LSP Tunnelsdraft-ietf-mpls-rsvp-lsp-fastreroute-00.txtdraft-ietf-mpls-rsvp-lsp-fastreroute-01.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents asInternet-Drafts.Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as ``work in progress.'' The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This document defines extensions to and describes the use of RSVP [RSVP, RSVP-TE] to establish backup LSP tunnels for local repair of LSP tunnels. These mechanisms enable the re-direction of traffic onto backup LSP tunnels in 10s of milliseconds in the event of a failure. Two methods arepresenteddefined here.One is to setupThe one-to-one backup method creates detour LSPsaccording to the requirements defined by the head-end users. The other is to setup many-to-one bypassfor each protected LSPusingat each potential point of local repair. The facility backup method creates asinglebypass tunnel tobackupprotect a potential failure point; by taking advantage of MPLS label stacking, this bypass tunnel can protect a set of protected LSPs(making use of label stacking).that have similar backup constraints. Both methods can be used to protect links and nodes during network failure. The describeduse ofbehavior and extensions to RSVPallowsallow LERs and LSRs to implement either or bothone-to-onemethods andmany-to-one backupstointeroperate.interoperate in a mixed network. Contents 1 Introduction ............................................. 4 2 Terminology ............................................... 4 3 Local Repair Techniques ................................... 6 3.1 One-to-one Backup ....................................... 6 3.2 Facility Backup ......................................... 7 4 RSVP Extensions ........................................... 8 4.1 FAST_REROUTE Object ..................................... 8 4.2 DETOUR Object ........................................... 11 4.3 SESSION_ATTRIBUTE Flags ................................. 12 4.4 RRO IPv4/IPv6 Sub-Object Flags .......................... 13 5 Head-End Behavior ......................................... 14 6 Point of Local Repair Behavior ............................ 15 6.1 Signaling a Backup Path ................................. 16 6.1.1 Backup Path Identification: Sender-Template Specific ... 17 6.1.2 Backup Path Identification: Path-Specific ............. 18 6.2 Procedures for Backup Path Computation .................. 18 6.3 Signaling Backups for One-To-One Protection ............. 20 6.3.1 Make-Before-Break with Detour LSPs .................... 21 6.3.2 Message Handling ...................................... 21 6.3.3 Local Reroute of Traffic Onto Detour LSP .............. 22 6.4 Signaling for Facility Protection ....................... 23 6.4.1 Discovering Downstream Labels ......................... 23 6.4.2 Procedures for the PLR before Local Repair ............ 23 6.4.3 Procedures for the PLR during Local Repair ............ 23 6.4.4 Processing backup tunnel's ERO ........................ 24 6.5 PLR Procedures During Local Repair ...................... 25 6.5.1 Notification of local repair .......................... 25 6.5.2 Revertive Behavior .................................... 26 7 Merge Node Behavior ....................................... 27 7.1 Handling Backup Path Messages Before Failure ............ 27 7.1.1 Merging Backup Paths using the Sender-Template Specific Method ....................................... 28 7.1.2 Merging Detours using Path-Specific Method ............ 28 7.1.2.1 An Example on Path Message Merging .................. 29 7.1.3 Message Handling for Merged Detours ................... 30 7.2 Handling Failures ....................................... 30 8 Behavior of all LSRs ...................................... 31 8.1 Merging Detours in Path-Specific Method ................. 31 9 Security Considerations ................................... 32 10 IANA Guidelines ........................................... 32 11 Intellectual Property Considerations ...................... 32 12 Full Copyright Statement .................................. 32 13 Acknowledgments ........................................... 33 14 References ................................................ 33 15 Author Information ........................................ 33 1. Introduction This documentdescribes the use ofextends RSVP [RSVP] to establish backup LSP tunnels for the local repair of LSP tunnels.By the term LSP tunnel we mean an explicitly routed LSP. In this document, we often refer to LSPs. In all cases we mean explicitly routed LSPs. Applicability of the techniques discussed herein to LSPs which dynamically change their routes such as those used in unicast IGP routingThis technique isbeyond the scope of this document. In orderpresented to meet the needs of real-timeapplicationsapplications, such as voice over IP, for which it is highly desirable to be able to re-direct user traffic onto backup LSP tunnels in 10s of milliseconds.The backup LSPs have toThis timing requirement can beplacedsatisfied by computing and signaling backup LSP tunnels in advance of failure and by re-directing traffic as close tothefailure point aspossible, since reportingpossible. In this way, the time for the redirection does not include any path computation or signaling delays, including delays to propagate failure notification betweennodes may cost significant delay.LSRs. The speed of repair made possible by the techniques and extensions described herein is the primary advantage of this method. We use the term local repair when referring to techniques which accomplish this, and refertheto an explicitly routed LSPthatwhich isassociated to one or more backup tunnelsprovided with such protection as a protected LSP.ThereThese techniques are applicable only to explicitly routed LSPs; Application of the techniques discussed herein to LSPs which dynamically change their routes such as those used in unicast IGP routing is beyond the scope of this document. Section 2 covers new terminology used in this document. The two basic strategies forsetting upcreating backuptunnels. TheseLSPs areone-to-one backup and facility backup. One-to-one backup operates ondescribed in Section 3. In Section 4, thebasis of a backup LSP for each protected LSP. The facility backup aims at using a single LSPprotocol extensions toback up a set of protected LSPs. 1.1. One-to-one backupRSVP to support local protection are described. In Section 5, theonebehavior of an LER which wishes toone case, a label switched pathrequest local protection for an LSP isestablished which intersects the original tunnel somewhere downstreampresented. The behavior ofthea potential point oflink or node failure. For each LSP which is backed up, another backup LSPlocal repair (PLR) isestablished. [R1]---[R2]-----[R3]----[R4]---[R5] \ / [R6]---[R7] For example, suppose thatgiven inthe simple topology above, R1 creates a tunnelSection 6; this describes how toR5 via the path [R1->R2->R3->R4->R5]. R2 can provide user traffic protection by creating a partial backup tunnel [R2->R6->R7->R4] which merges withdetermine theoriginal tunnel [R1->R2->R3->R4->R5] at R4. We refer a partial one-to-one backup tunnel [R2->R6->R7->R4] as a detour. To fully protect a LSP that traverses through N nodes, there could be as many as (N - 1) detours. To minimize processing overhead, it is desirable to merge detours backappropriate strategy toa mainuse for protecting an LSPwherever possible. 1.2. Facility backup A second means of backing up LSPs isand how totake advantageimplement each of thelabel stack. Insteadstrategies. The behavior ofcreatingaseparate LSP for every backed-up LSP,merge node, the LSR where asingleprotected LSPis created which serves toand its backupup a set of LSPs. We call such aLSPtunnel a bypass tunnel. The bypass tunnel must intersect the path of the original LSP(s) somewhere downstream of the point of local repair. This of course implies thatrejoin, is described in Section 7. Finally, thesetrequired behavior ofLSPs being backed up all pass through some common downstream node. All LSPs which pass throughother nodes in thepoint of local repairnetwork is discussed in Section 8. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", andthrough this common node which do not also use the facilities involved"OPTIONAL" inthe bypass tunnel are candidates for this set of LSPs. To effect the repair of the protected LSPs, packets belonging to a LSP are redirected onto the bypass tunnel. An additional label representing the bypass tunnel is stacked onto the redirected packets. At the penultimate hop of the bypass tunnel, the label for the bypass tunnel is popped off the stack, revealing the label which represents the LSP being backed up. [R8] \ [R1]---[R2]----[R3]----[R4]---[R5] \\ // \ [R6]===[R7] [R9] In the above example, R2 in this case would build a bypass tunnel [R2->R6->R7->R4]. The doubled lines represent this tunnel. The backup path for [R1->R2->R3->R4->R5] again rejoins the original path at R4, but its path is now [R1->R2->R4->R5] with the bypass tunnel as the connection between R2 and R4. In this example, the backup tunnel is a Next-Next-Hop (NNHOP) bypass tunnel. That is, it bypasses a single node (R3) of the protected path. NNHOP bypass tunnels may protect against Link (R2-R3) failure and/or Node (R3) failure as NHOP bypass tunnel only protects against link failure. The scalability improvement comes in that this bypass tunnel can also be used to backup LSPs from any of R1, or R2, R8 to any of R4, R5, or R9 which traverse the link R2->R3. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this documentthis document are to be interpreted as described in RFC2119 [RFC-WORDS]. The reader is assumed to be familiar with the terminology in [RSVP] and [RSVP-TE]. LSR - Label Switch Router LSP - An MPLS Label SwitchedPathPath. In this document, an LSP will always refer to an explicitly routed LSP. Local Repair - Techniques used to repair LSP tunnels quickly when a node or link along the LSPs path fails.Protected LSPPLR -AnPoint of Local Repair. The head-end LSR of a backup tunnel or a detour LSP. One-to-one Backup - A local repair technique where a backup LSP issaid to beseparately created for each protected LSP at agiven hop if itPLR. Facility Backup - A local repair technique where a bypass tunnel is used to protect one or more protected LSPs which traverse the PLR, the resource being protected and the Merge Point in that order. Protected LSP - An LSP is said to be protected at a given hop if it has one or multiple associated backup tunnels originating at that hop. Detour LSP - The LSP that is used to re-route traffic around a failure in one-to-one backup. Bypass Tunnel - An LSP that is used to protect a set of LSPs passing over a common facility. Backup Tunnel - The LSP that is used to backup up one of the many LSPs in many-to-one backup. NHOP Bypass Tunnel - Next-Hop Bypass Tunnel. A backup tunnel which bypasses a single link of the protected LSP. NNHOP Bypass Tunnel - Next-Next-Hop Bypass Tunnel. A backup tunnel which bypasses a single node of the protected LSP. Backup Path - The LSP that is responsible for backing up one protection LSP. A backup path refers to either a detour LSP or a backup tunnel.PLR - Point of Local Repair. The head-end of a backup tunnel or a detour LSP.MP - Merge Point. The LSR where one or more backup tunnels rejoin the path of the protected LSP, downstream of the potential failure. The same LSR may be both an MP and a PLR simultaneously. DMP - Detour Merge Point. In the case of one-to-one backup,a Merge Point may also bethis is an LSR where multiple detours converge and only one detour is signaled beyond thatLSR; this type of merge point may be referred to as a Detour Merge Point. A MP may also be a PLR.LSR. Reroutable LSP - Any LSP for which the head-end LSR requestsforlocal protection. See Section 9.1 for more detail. CSPF - Constraint-based Shortest Path First.3. RSVP Extensions We propose two additional objects, FAST_REROUTE and DETOUR, that extend RSVP-TE for fast-reroute signaling. The new objects are definedSRLG Disjoint - A path is considered to bebackward compatible for LSRs that do not recognize them (Section 3.10 in [RSVP]). Both objects can only be carried in RSVP Path messages. The SESSION_ATTRIBUTE and RECORD_ROUTE objects are also extended to support bandwidth andSRLG disjoint from a given link or nodeprotection features: In many circumstances, it may be desirable forif thehead-end LSRpath does notonlyuse any links or nodes which belong tosignal an LSPthe same SRLG asfast reroutable but also to specify to every PLR along its paththatthe LSP must be rerouted ontogiven link or node. 3. Local Repair Techniques Two different techniques for local protection are presented here. The one-to-one backup technique has a PLR compute a separate backuppath offering an equivalent bandwidth. It may be desirable to signal the need for the fast reroutable LSP to be node protected along its path. By node protected we mean thatLSP, called a detour LSP, for each LSP which the PLRalongprotects using this technique. With thepath must protectfacility backup technique, thereroutable LSP with a detour LSP orPLR creates aNNHOP backupsingle bypass tunnel(except forwhich can be used to protect multiple LSPs. 3.1. One-to-one backup In thepenultimate hop LSR that will just requireone-to-one technique, aNHOP backup tunnel). This waylabel switched path is established which intersects thereroutableoriginal LSPis being protected against anysomewhere downstream of the point of link or node failure.3.1. FAST_REROUTE Object The FAST_REROUTE object carriesFor each LSP which is backed up, a separate backup LSP is established. [R1]---[R2]-----[R3]----[R4]---[R5] \ \ \ / \ / [R6]---[R7]-------[R8]----[R9] Protected LSP: [R1->R2->R3->R4->R5] R1's Backup: [R1->R6->R7->R8->R3] R2's Backup: [R2->R7->R8->R4] R3's Backup: [R3->R8->R9->R5] R4's Backup: [R4->R9->R5] Example 1: One-to-One Backup Technique In the simple topology shown above in Example 1, thecontrol information, such as setup and hold priorities and bandwidth. Aprotected LSPuses the FAST_REROUTE objectruns from R1 tospecify the level ofR5. R2 can provide user traffic protection by creating a partial backup LSP which merges with the protected LSP at R4. We refer to a partial one-to-one backup LSP [R2->R7->R8->R4] as a detour. To fully protect an LSP thatis required during local repair. The FAST_REROUTE object cantraverses N nodes, there could beusedas many as (N - 1) detours. The paths forboth one-to-one and facility backup, and hasthefollowing format: Class = TBD (use form 11bbbbbb for compatibility) C-Type = 1 0detours necessary to fully protect the LSP in Example 12 3 +-------------+-------------+-------------+-------------+ | Length (bytes) | Class-Num | C-Type | +-------------+-------------+-------------+-------------+ | Setup Prio | Hold Prio | Hop-limit | Flags | +-------------+-------------+-------------+-------------+ | Bandwidth | +-------------+-------------+-------------+-------------+ | Include-any | +-------------+-------------+-------------+-------------+ | Exclude-any | +-------------+-------------+-------------+-------------+ | Include-all | +-------------+-------------+-------------+-------------+ Setup Priority The priority ofare given there. To minimize thebackup path with respect to taking resources,number of LSPs in therange of 0 to 7. The value 0network, it is desirable to merge a detour back to its protected LSP when feasible. When a detour LSP intersects its protected LSP at an LSR with thehighest priority. Setup Priority is usedsame outgoing interface, it will be merged. When a failure occurs along the protected LSP, the PLR redirects traffic onto the local detour. For instance, if the link [R2->R3] fails indeciding whether this session can preempt another session. See [RSVP-TE] forExample 1, R2 will switch traffic received from R1 onto theusage on priority. Holding Priority The priority ofprotected LSP along link [R2->R7] using thebackup pathlabel received when R2 created the detour. When R4 receives traffic withrespect to holding resources, intherangelabel provided for R2's detour, R4 will switch that traffic onto link [R4-R5] using the label received from R5 for the protected LSP. At no point does the depth of0 to 7. The value 0 isthehighest priority. Holding Prioritylabel stack increase as a result of taking the detour. While R2 isused in deciding whether this session can be preempted by another session. See [RSVP-TE] forusing its detour, traffic will take theusage on priority. Hop-limitpath [R1->R2->R7->R8->R4->R5]. 3.2. Facility backup Themaximum numberfacility backup technique takes advantage ofextra hopsthebackup pathMPLS label stack. Instead of creating a separate LSP for every backed-up LSP, a single LSP isallowed to take, from current node (a PLR)created which serves to backup up aMP, with PLR and MP excluded in counting. For example, hop-limitset of0 means only direct links between PLR and MP can be considered. Flags 0x01 One-to-one Backup Desired Indicates that theLSPs. We call such an LSPshould be protected viatunnel a bypass tunnel. The bypass tunnel must intersect theone- to-one backup mechanism described in Section 5. This flag can only be set bypath of thehead-end LSRs. 0x02 Facility Backup Desired Indicates thatoriginal LSP(s) somewhere downstream of theLSP should be protected viaPLR. Naturally, this constrains thefacility backup mechanism described in Section 6. This flag can only besetbyof LSPs being backed-up via that bypass tunnel to those that pass through some common downstream node. All LSPs which pass through thehead-end LSRs. Bandwidth Bandwidth estimate (32-bit IEEE floatingpointinteger)of local repair and through this common node which do not also use the facilities involved inbytes-per-second. Exclude-any A 32-bit vector representing athe bypass tunnel are candidates for this set ofattribute filters associated withLSPs. [R8] \ [R1]---[R2]----[R3]----[R4]---[R5] \ / \ [R6]===[R7] [R9] Protected LSP 1: [R1->R2->R3->R4->R5] Protected LSP 2: [R8->R2->R3->R4] Protected LSP 3: [R2->R3->R4->R9] Bypass LSP Tunnel: [R2->R6->R7->R4] Example 2: Facility Backup Technique In Example 2, R2 has built abackup path any ofbypass tunnel whichrenders aprotects against the failure of linkunacceptable. Include-any A 32-bit vector representing a set[R2->R3], link [R3->R4] or node [R3]. The doubled lines represent this tunnel. The scalability improvement this technique provides is that the same bypass tunnel can also be used to protect LSPs from any ofattribute filters associated with a backup pathR1, R2 or R8 to any of R4, R5 or R9. Example 2 describes three different protected LSPs whichrenders a link acceptable (with respect to this test). A null set (all bits setare using the same bypass tunnel for protection. As with the one-to-one technique, tozero) automatically passes. Include-all A 32-bit vector representingfully protect an LSP that traverses N nodes, there could be as many as (N-1) bypass tunnels. However, each of those bypass tunnels could protected a set ofattribute filters associated withLSPs. When abackup path all of which must be present forfailure occurs along a protected LSP, the PLR redirects traffic into the appropriate bypass tunnel. For instance, if linkto[R2->R3] fails in Example 2, R2 will switch traffic received from R1 on the protected LSP onto link [R2->R6]; the label will beacceptable (with respect to this test). A null set (all bits setswitched for one which will be understood by R4 tozero) automatically passes. The C-Class mustindicate the protected LSP and then the bypass tunnel's label will beassignedpushed onto the label-stack of the redirected packets. If penultimate-hop-popping is used, then the merge point insuchExample 2, R4, will receive the redirected packet with away that, forlabel indicating theLSRsprotected LSP thatdothe packet is to follow. If penultimate-hop-popping is notsupportused, then R4 will pop theFAST_REROUTE objects, they MUST forwardbypass tunnel's label and examine theobjects downstream unchanged. Some oflabel underneath to determine theexisting implementations useprotected LSP that theFAST_REROUTE object with a different C-type value, and slightly different object format (shown below). For backward compatible purposes, itpacket isdocumented hereto follow. When R2 is using the bypass tunnel forinformation purpose. C-Type = 7 0 1 2 3 +-------------+-------------+-------------+-------------+ | Length (bytes) | Class-Num | C-Type | +-------------+-------------+-------------+-------------+ | Setup Prio | Hold Prio | Hop-limit | Reserved | +-------------+-------------+-------------+-------------+ | Bandwidth | +-------------+-------------+-------------+-------------+ | Include-any | +-------------+-------------+-------------+-------------+ | Exclude-any | +-------------+-------------+-------------+-------------+ 3.2. DETOURprotected LSP 1, the traffic takes the path [R1->R2->R6->R7->R4->R5]; the bypass tunnel is the connection between R2 and R4. 4. RSVP Extensions We propose two additional objects, FAST_REROUTE and DETOUR, to extend RSVP-TE for fast-reroute signaling. These new objects are backward compatible with LSRs that do not recognize them (see section 3.10 in [RSVP]). Both objects can only be carried in RSVP Path messages. The SESSION_ATTRIBUTE and RECORD_ROUTE objects are also extended to support bandwidth and node protection features. 4.1. FAST_REROUTE Object TheDETOURFAST-REROUTE object is usedin one-to-one backupto control the backup used for the protected LSP. This specifies the setup andidentify detour LSPs.hold priorities, the session attribute filters, and bandwidth to be used for protection. It also allows a specific local protection technique to be requested. This object MUST only be inserted into the PATH message by the head-end LER and MUST NOT be changed by downstream LSRs. The FAST-REROUTE object has the following format: Class = TBD(to conform 0bbbbbbb format(use form 11bbbbbb for compatibility) C-Type =71 0 1 2 3 +-------------+-------------+-------------+-------------+ | Length (bytes) | Class-Num | C-Type | +-------------+-------------+-------------+-------------+ | Setup Prio | Hold Prio | Hop-limit | Flags | +-------------+-------------+-------------+-------------+ | Bandwidth | +-------------+-------------+-------------+-------------+ | Include-any | +-------------+-------------+-------------+-------------+ | Exclude-any | +-------------+-------------+-------------+-------------+ | Include-all | +-------------+-------------+-------------+-------------+ Setup Priority The priority of the backup path with respect to taking resources, in the range of 0 to 7. The value 0 is the highest priority. Setup Priority is used in deciding whether this session can preempt another session. See [RSVP-TE] for the usage on priority. Holding Priority The priority of the backup path with respect to holding resources, in the range of 0 to 7. The value 0 is the highest priority. Holding Priority is used in deciding whether this session can be preempted by another session. See [RSVP-TE] for the usage on priority. Hop-limit The maximum number of extra hops the backup path is allowed to take, from current node (a PLR) to a MP, with PLR and MP excluded in counting. For example, hop-limit of 0 means only direct links between PLR and MP can be considered. Flags 0x01 One-to-one Backup Desired Indicates that protection via the one-to-one backup technique is desired. 0x02 Facility Backup Desired Indicates that protection via the facility backup technique is desired. Bandwidth Bandwidth estimate (32-bit IEEE floating point integer) in bytes-per-second. Exclude-any A 32-bit vector representing a set of attribute filters associated with a backup path any of which renders a link unacceptable. Include-any A 32-bit vector representing a set of attribute filters associated with a backup path any of which renders a link acceptable (with respect to this test). A null set (all bits set to zero) automatically passes. Include-all A 32-bit vector representing a set of attribute filters associated with a backup path all of which must be present for a link to be acceptable (with respect to this test). A null set (all bits set to zero) automatically passes. The two high-order bits of the Class-Num (11) indicate that nodes that do not understand the object should ignore it and pass if forward unchanged. For informational purposes, a different C-type value and format for the FAST_REROUTE object are specified below. This is used by existing implementations. The meaning of the fields is the same as described for C-Type 1. C-Type = 7 0 1 2 3 +-------------+-------------+-------------+-------------+ | Length (bytes) | Class-Num | C-Type | +-------------+-------------+-------------+-------------+ | Setup Prio | Hold Prio | Hop-limit | Reserved | +-------------+-------------+-------------+-------------+ | Bandwidth | +-------------+-------------+-------------+-------------+ | Include-any | +-------------+-------------+-------------+-------------+ | Exclude-any | +-------------+-------------+-------------+-------------+ 4.2. DETOUR Object The DETOUR object is used in one-to-one backup to identify detour LSPs. It has the following format: Class = TBD (to conform 0bbbbbbb format for compatibility) C-Type = 7 0 1 2 3 +-------------+-------------+-------------+-------------+ | Length (bytes) | Class-Num | C-Type | +-------------+-------------+-------------+-------------+ | PLR ID 1 | +-------------+-------------+-------------+-------------+ | Avoid Node ID 1 | +-------------+-------------+-------------+-------------+ // .... // +-------------+-------------+-------------+-------------+ | PLR ID n | +-------------+-------------+-------------+-------------+ | Avoid Node ID n | +-------------+-------------+-------------+-------------+ PLR ID (1 - n) IPv4 address identifying the beginning point of detour which is a PLR. Any local address on the PLR can be used. Avoid Node ID (1 - n) IP address identifying the immediate downstream node that the PLR is trying to avoid. Router ID of downstream node is preferred. This field is mandatory, and is used by the MP for merging rules discussed below. There can be more than one pair of (PLR_ID, Avoid_Node_ID) entries in a DETOUR object. If detour merging is desired, after each merging operation, the Detour Merge Point should combine all the merged detours in the subsequent Path messages. The high-order bit of the C-Class is zero; LSRs that do not support the DETOUR objects MUST reject any Path message containing a DETOUR object and send a PathErr to notify the PLR. 4.3. SESSION_ATTRIBUTE Flags To explicitly request bandwidth and node protection, two new flags are defined in the SESSION_ATTRIBUTE object. For both C-Type 1 and 7, the SESSION_ATTRIBUTE object currently has the following flags defined: Local protection desired: 0x01 This flag permits transit routers to use a local repair mechanism which may result in violation of the explicit route object. When a fault is detected on an adjacent downstream link or node, a transit node may reroute traffic for fast service restoration. Label recording desired: 0x02 This flag indicates that label information should be included when doing a route record. SE Style desired: 0x04 This flag indicates that the tunnel ingress node may choose to reroute this tunnel without tearing it down. A tunnel egress node SHOULD use the SE Style when responding with a Resv message. When requesting fast reroute, the head-end LSR SHOULD set this flag; this is not necessary for the path-specific method of the one-to-one backup technique. The following new flags are defined: Bandwidth protection desired: 0x08 This flag indicates to the PLRs along the protected LSP path that a backup path with a bandwidth guarantee is desired. The bandwidth to be guaranteed is that of the protected LSP, if no FAST_REROUTE object is included in the PATH message; if a FAST_REROUTE object is in the PATH message, then the bandwidth specified therein is that to be guaranteed. Node protection desired: 0x10 This flag indicates to the PLRs along a protected LSP path that a backup path which bypasses at least the next node of the protected LSP is desired. 4.4. RRO IPv4/IPv6 Sub-Object Flags To report whether bandwidth and/or node protection are provided as requested, we define two news flags in the RRO IPv4 sub-object. RRO IPv4 and IPv6 sub-object address: These two sub-objects currently have the following flags defined: Local protection available: 0x01 Indicates that the link downstream of this node is protected via a local repair mechanism, which can be either one-to-one or facility backup. Local protection in use: 0x02 Indicates that a local repair mechanism is in use to maintain this tunnel (usually in the face of an outage of the link it was previously routed over, or an outage of the neighboring node). Two new flags are defined: Bandwidth protection: 0x04 The PLR will set this when the protected LSP has a backup path which is guaranteed to provide the desired bandwidth specified in the FAST_REROUTE object or the bandwidth of the protected LSP, if no FAST_REROUTE object was included. The PLR may set this whenever the desired bandwidth is guaranteed; the PLRID 1 | +-------------+-------------+-------------+-------------+ | Avoid Node ID 1 | +-------------+-------------+-------------+-------------+ // .... // +-------------+-------------+-------------+-------------+ |MUST set this flag when the desired bandwidth is guaranteed and the "bandwidth protection desired" flag was set in the SESSION_ATTRIBUTE object. If the requested bandwidth is not guaranteed, the PLRID n | +-------------+-------------+-------------+-------------+ | AvoidMUST NOT set this flag. NodeID n | +-------------+-------------+-------------+-------------+protection: 0x08 The PLRID (1 - n) IPv4 address identifyingwill set this when thebeginning point of detourprotected LSP has a backup path whichisprovides protection against aPLR. Any local address onfailure of thePLR can be used. Avoid Node ID (1 - n) IP address identifyingnext LSR along theimmediate downstreamprotected LSP. The PLR may set this whenever nodethatprotection is provided by the protected LSP's backup path; the PLRis trying to avoid. Router ID of downstreamMUST set this flag when the node protection ispreferred. This field is mandatory,provided andis used bytheMP for merging rules discussed below. There could be more than one pair of (PLR_ID, Avoid_Node_ID) entry"node protection desired" flag was set ina DETOURthe SESSION_ATTRIBUTE object. Ifdetour mergingnode protection isdesired, after each merging operation (Section 5.3),not provided, theMP should combine allPLR MUST NOT set this flag. Thus, if a PLR could only setup a link-protection backup path, themerged detours in"Local protection available" bit will be set but the "Node protection" bit will be cleared. 5. Head-End Behavior The head-end of an LSP determines whether local protection should be requested for that LSP and which local protection technique is desired for thesubsequent Path messages.protected LSP. TheC-Class musthead-end also determines what constraints should beassigned in such a way that,requested for theLSRsbackup paths of a protected LSP. To indicate thatdo not support the DETOUR objects,an LSP should be locally protected, theLSRshead-end LSR MUSTrejecteither set themessage and send a PathErr to notify"Local protection desired" flag in thePLR. 3.3.SESSION_ATTRIBUTEModification To explicitly require bandwidth and node protection, two new flags are definedobject or include a FAST_REROUTE object in theSESSION_ATTRIBUTE object: SESSION_ATTRIBUTE Class = 207 C-Type = 7 (LSP_TUNNEL) 0 1 2 3 +-------------+-------------+-------------+-------------+ | Setup Pri | Holding Pri | Flags | Name Length | +-------------+-------------+-------------+-------------+ | | // Session Name (NULL padded display string) // | | +-------------+-------------+-------------+-------------+ Current Flags: LocalPATH message or both. It is recommended that the "local protectiondesired: 0x01 Thisdesired" flagpermits transit routers to use a local repair mechanism which may resultinviolation oftheexplicit route object. WhenSESSION_ATTRIBUTE object always be set. If afault is detected on an adjacent downstream link or node,head-end LSR signals atransit node can reroute trafficFAST_REROUTE object, it MUST be stored forfast service restoration. LabelPath refreshes. The head-end LSR of a protected LSP MUST set the "label recordingdesired: 0x02 Thisdesired" flagindicates that label information should be included when doing a route record. SE Style desired: 0x04in the SESSION_ATTRIBUTE object. Thisflag indicates thatfacilitates thetunnel ingress node may choose to reroute this tunnel without tearing it down. A tunnel egress node SHOULDuse of theSE Style when responding withfacility backup technique. If node protection is desired, the head-end LSR should set the "node protection desired" flag in the SESSION_ATTRIBUTE object; if only link protection is desired, this flag should be cleared. Similarly, if aResv message. When requesting fast reroute,guarantee of bandwidth protection is desired, then thehead-end LSR MUST set this flag. New Flags: Bandwidth"bandwidth protectiondesired: 0x08 Thisdesired" flagindicates toin thePLRs alongSESSION_ATTRIBUTE object should be set; otherwise, this flag should be cleared. If theprotected LSP pathhead-end LSR determines thatacontrol of the backuppath with a bandwidth guaranteepaths for the protected LSP isdesired.desired, then the LSR should include the FAST_REROUTE object. Thebandwidth which mustattribute filters, bandwidth, hop-limit and priorities will beguaranteed isused by the PLRs when determining the backup paths. If the head-end LSR desires thatofthe protectedLSP, if no FAST_REROUTE object is included inLSP be protected via thePATH message; ifone-to-one backup technique, then head-end LSR should include a FAST_REROUTE objectis inand set thePATH message, then"one-to-one backup desired" flag. If thebandwidth specified in there ishead-end LSR desires thatwhich mustthe protected LSP beguaranteed. Node protection desired: 0x10 This flag indicates toprotected via the facility backup technique, then the head-end LSR should include a FAST_REROUTE object and set the "facility backup desired" flag. The lack of a FAST_REROUTE object, or having both these flags clear should be treated by PLRsalongas a lack of preference. If both flags are set a PLR may use either method or both. The head-end LSR of a protected LSPpath that they must select a backup path that bypasses at leastMUST support thenext node ofadditional flags defined in Section 4.4 being set or clear in theprotected LSP. 3.4.RROModification To record bandwidthIPv4 andnode protection, we define two news flags inIPv6 sub-objects. The head-end LSR of a protected LSP MUST support the RROIPv4Label sub-object.RRO IPv4 sub-object address: Type: 0x01 IPv4 address 0 1 2 3 +-------------+-------------+-------------+-------------+ | Type | Length | IPv4 address (4 bytes) | +-------------+-------------+-------------+-------------+ | IPv4 address (continued) | Prefix Len | Flags | +-------------+-------------+-------------+-------------+ Current Flags: Local protection available: 0x01 Indicates thatIf thelink downstreamhead-end LSR ofthis node is protected via aan LSP determines that localrepair mechanism, which canprotection is newly desired, this should beeither one-to-one or facility backup.signaled via make-before-break. 6. Point of Localprotection in use: 0x02 Indicates thatRepair Behavior Every LSR along alocal repair mechanism isprotected LSP (except the egress) MUST follow the PLR behavior described inuse to maintainthistunnel (usuallydocument. A PLR SHOULD support the FAST_REROUTE object, the "local protection desired", "label recording desired", "node protection desired" and "bandwidth protection desired" flags in theface of an outage ofSESSION_ATTRIBUTE object, and thelink it was previously routed over, or an outage of"local protection available", "local protection in use", "bandwidth protection", and "node protection" flags in theneighboring node). New Flags: Bandwidth protection: 0x04 TheRRO IPv4 and IPv6 sub-objects. A PLRwill set this whenMAY support theprotectedDETOUR object. A PLR MUST consider an LSPhas a backup path which providesas having asked for local protection if thedesired bandwidth, which"local protection desired" flag isthatset in theFAST_REROUTESESSION_ATTRIBUTE objector the bandwidth ofand/or theprotected LSP, if noFAST_REROUTE objectwasis included.TheIf the FAST_REROUTE object is included, a PLRmaySHOULD consider providing one-to-one protection if the "one-to-one desired" is setthis wheneverand SHOULD consider providing facility backup if the "facility backup desired" flag is set when determining whether to provide local protection and which technique to use to provide that local protection. If thedesired bandwidth"node protection desired" flag isguaranteed;set, the PLRMUST setSHOULD try to provide node protection; if thisflag when the desired bandwidthisguaranteed andnot feasible, the"bandwidth protection desired" flag was setPLR SHOULD then try to provide link protection. The following treatment for the RRO IPv4 or IPv6 sub-object's flags must be followed if an RRO is included in theSESSION_ATTRIBUTE object. Node protection: 0x08 When set,protected LSP's RESV message. Based on thisindicates thatadditional information the head-end may take appropriate actions. - Until a PLR has a backup pathproviding protection against link and node failure onavailable, the PLR MUST clear the relevant four flags in the correspondingpath section. In caseRRO IPv4 or IPv6 sub-object. - Whenever the PLRcould only setuphas alink-protectionbackuppath,path available, the"LocalPLR MUST set the "local protection available"bit will be set butflag. If no established one-to-one backup LSP or bypass tunnel exists, or the"Node protection" bit will be cleared. 3.5. New RRO sub-object: MAX_PROTECTED_BANDWIDTH This sub-objectone-to-one LSP and the bypass tunnel iscarriedin "DOWN" state, the PLR MUST clear the "local protection available" flag in its IPv4 (or IPv6) address subobject of the RROobjectandis optional. An implementation MAY support it. An LSRSHOULD send the updated RESV. - The PLR MUSTignore and silently propagate this sub-object, ifclear the "local protection in use" flag unless it isnot understood. RRO MAX_PROTECTED_BANDWIDTH sub-object: 0 1 2 3 +-------------+-------------+-------------+-------------+ | Type | Length | Flags | +-------------+-------------+-------------+-------------+ | Bandwidth protection ratio | +-------------+-------------+-------------+-------------+ Type: 0x04 Length: 32 Flags: No Flags are currently defined Bandwidth protection ratio Let's call Tactively redirecting traffic into thebypass tunnel selected forbackup path instead of along the protected LSP. - Thebandwidth protection ratio isPLR SHOULD also set the "node protection" flag if the backup path protects against thesumfailure of thebandwidths of allimmediate downstream node and, if not, theprotected LSPs having selected T as their bypass tunnel / bandwidth ofPLR SHOULD clear thebypass tunnel T. The bandwidth"node protection" flag. This MUST be done if the "node protectionratio is a 32-bit IEEE floating point integerdesired" flag was set inbytes-per-second.the SESSION_ATTRIBUTE object. - Theminimum value forPLR SHOULD set theprotected ratio is 1, which means "the TE LSP is bandwidth protected". Note that"bandwidth protection" if thePLR must select abackuptunnel in suchpath offers away that thebandwidthprotected ratio is 1 forguarantee and, if not, SHOULD clear theTE LSP having required bandwidth"bandwidth protection" flag. This MUST be done if the "bandwidth protection desired" flag was set in the SESSION_ATTRIBUTEobject of their Path message The bandwidth protected ratio may be used for troubleshooting purpose or to trigger appropriate decision the head-end LSR (outside the scope of this document). 4.object. 6.1 Signalingfora Backup Path A number of objectives must be met to obtain a satisfactory signaling solution. These are summarized as follows: 1. Unambiguously and uniquely identify backup paths 2. Unambiguously associate protected LSPs with their backup paths 3. Work with both global and non-global label spaces 4. Allow for merging of backup paths 5. Maintain RSVP state during and after fail-over. LSP tunnels are identified by a combination of the SESSION and SENDER_TEMPLATE objects. The relevant fields are as follows. IPv4 (or IPv6) tunnel end point address IPv4 (or IPv6) address of the egress node for the tunnel. Tunnel ID A 16-bit identifier used in the SESSION that remains constant over the life of the tunnel. Extended Tunnel ID A 32-bit (IPv4) or 128-bit (IPv6) identifier used in the SESSION that remains constant over the life of the tunnel. Normally set to all zeros. Ingress nodes that wish to narrow the scope of a SESSION to the ingress-egress pair may place theirIPv4IP address here as a globally unique identifier. IPv4 (or IPv6) tunnel sender address IPv4 (or IPv6) address for a sender node LSP ID A 16-bit identifier used in the SENDER_TEMPLATE and the FILTER_SPEC that can be changed to allow a sender to share resources with itself. The first three of these are in the SESSION object and are the basic identification of the tunnel.The last two are in the SENDER_TEMPLATE. In particular, settingSetting the "Extended Tunnel ID" tothe original IPv4 senderan IP address of the head-end LSR allows thePLRscope of the SESSION toidentifybe narrowed towhich protectedonly LSPs sent by that LSR. A backup LSPa message (from MP) corresponds. For example, when a Resv message arrives at the PLR, the Extended Tunnel ID identifiesis considered to be part of theoriginal sender, allowingsame session as its protected LSP; therefore these three cannot be varied. The last two are in thePLR to identifySENDER_TEMPLATE. Multiple LSPs in thestate tosame SESSION may berefreshed. 4.1. Identificationprotected andassociation of backup paths We propose twotake differentapproaches to identify backup paths: - Path Message Specific: Theroutes; this is common when rerouting a tunnel using make-before-break. It is necessary that a backuppaths use the same SESSION and SENDER_TEMPLATE objects as the ones used in thepath be clearly identified with its protectedLSP. However, the Path messages need to provide enough informationLSP, so thatallow the LSRs to differentiate thecorrect merging and state treatment can be done. Therefore, a backuppathspath must inherit its LSP ID from the associated protectedLSPs. In case of one-to-one backup,LSP. Thus, thepresence of DETOUR objectonly field inPath messages signifiesthe SESSION and SENDER_TEMPLATE objects which could be varied between a backuppath, while the presence of FAST_REROUTE object indicatespath and a protectedLSP. - Sender-Template Specific:LSP is the "IPv4 (or IPv6) tunnel sender address" in the SENDER_TEMPLATE. There are two different methods to uniquely identify a backup path. These are described below. 6.1.1. Backup Path Identification: Sender-Template-Specific In this approach, the SESSION object and the LSP_ID are copied from the protected LSP. TheIPv4"IPv4 tunnel senderaddressaddress" is set to an address of thePLR node.PLR. If the head-end of a tunnel is also acting as the PLR, it must choose an IP address different from the one used in theSENDER_TEMPLATESENDER_TEMPLATE of the original LSP tunnel. When using the sender-template-specific approach, the protected LSPs and the backup paths SHOULD use the Shared Explicit (SE) style. This allows bandwidth sharing between multiple backup paths. The backup paths and the protected LSP MAY be merged by the Detour Merge Points, when the ERO from the MP to the egress is the same on each LSP to be merged, as specified in [RSVP-TE]. 6.1.2. Backup Path Identification: Path-Specific In this approach, rather than varying the SESSION or SENDER_TEMPLATE objects, a new object, the DETOUR object, is used to distinguish between PATH messages for a backup path and the protected LSP. Thus, the backup paths use the same SESSION and SENDER_TEMPLATE objects as the ones used in the protected LSP. The presence of DETOUR object in Path messages signifies a backup path; the presence of FAST_REROUTE object and/or theoriginal LSP tunnel."local protection requested" flag in the SESSION_ATTRIBUTE object indicates a protected LSP. In the path-message-specific approach, when an LSR receives multiple Pathmessagemessages which have the sameSessionSESSION andSender TemplateSENDER_TEMPLATE objects andwhichalso have the same next-hop, that LSR must merge the Pathmessages; withoutmessages. Without this behavior, the multiple RESV messages received back would not be distinguishable as to which backup path each belongs to. This merging behavior does reduce the total number of RSVP states inside thenetwork. One merging example is given in Section 5.3. When using the sender-template-specific approach, the protected LSPs and the backup paths SHOULD use the Shared Explicit (SE) style. This allows bandwidth sharing between multiple backup paths. The backup paths and the protected LSP can be merged by the Merge Points, when the ERO from the MP to the egress is the same on each LSP to be merged, as specified in [RSVP]. 5. One-to-one backup protection In this section, we describe an one-to-one backup method that has the feature to protect bothnetworklinks and nodes. To support the one-to-one backup, the usersathead-end LSRs must specifythebackup service requirements for the protected LSPs. The LSRs must be able to interfaceexpense of merging LSPs withCSPF to compute the most suitable detour route for the protected LSPs. Upon receiving the local protection requestsdifferent EROs. 6.2 Procedures for Backup Path Computation Before aprotected LSP, the PLRs must try to establish the detour LSPs immediately. During network failure, thePLRmust redirect the data packets into the detour LSPs in a timely fashion. 5.1. Operation Overview Ifcan create aone-to-one backup fordetour or aprotected LSP is explicitly desired, the head-end LSR SHOULD insert intobypass tunnel, thePath messagedesired explicit route must be determined. This can be done using aFAST_REROUTE object, withCSPF. Before CSPF computation, the"One-to-one Backup desired" flag set. A one-to-one backup forfollowing information should be collected at a PLR: - The list of downstream nodes that the protected LSPmaypasses through. This information is readily available from the RECORD_ROUTE objects during LSP setup. This information is alsobe created based upon a PLR's local policyavailable from the ERO. However, ifeitherthe"localERO contains loose sub-objects, the ERO may not provide adequate information. - The downstream links/nodes that we want to protect against. Once again, this information is learned from the RECORD_ROUTE objects. Whether node protectiondesired" flagissetdesired is determined by the "node protection" flag in the SESSION_ATTRIBUTE objector a FAST_REROUTE object is included or both. When processed at a PLR, the PLR initiates a detour LSP by sending a new Path message that contains a DETOUR object. Since an LSP cannot be a protected and a detour LSP at the same time, any Path message MUST NOT contain both FAST_REROUTEandDETOUR objects,local policy. - TheLSRsupstream uni-directional links thatinitiatethedetour LSPs SHOULD support both FAST_REROUTE and DETOUR objects. It is possible that some LSRs along aprotected LSPdo not support this standard. If thatpasses through. This information is learned from thecase, those LSRs will not establish protectionRECORD_ROUTE objects; it is only needed fortheir immediate links or nodes. Any LSR which does support this standard SHOULD providesetting up one-to-one protection.The LSRs that supportIn thedetour LSPs MUST store all received FAST_REROUTE and/or DETOUR objects for Path refreshes. The LSRs must processpath-specific method, it is necessary to avoid the detourLSPs independent ofand the protectedLSPsLSP sharing a common next-hop upstream of the failure. In the sender-template-specific mode, this same restriction is necessary to avoidtriggeringsharing bandwidth between the detour and its protected LSP, where that bandwidth has only been reserved once. - The link attribute filters to be applied. These are derived from theLSP loop detection procedure describedFAST_REROUTE object, if included in[RSVP-TE].the PATH message, and the SESSION_ATTRIBUTE object otherwise. - Theone-to-one backup can use either path-message-specific or sender- template-specificbandwidth toidentify the detour LSPs. When usingbe used is found in thesender-template-specific approach,FAST_REROUTE object, if included in theprotectedPATH message, anddetour LSPs should have the "SE Style desired" bit setin the SESSION_ATTRIBUTEobjects. At the MP, the detour LSPs merge intoobject otherwise. Local policy may modify theprotected LSPs accordingbandwidth tothe merging rules defined for SE style reservationsbe reserved. - The hop-limit, if a FAST_REROUTE object was included in[RSVP]. In the case of one-to-one backup, there is no need forthePLRsPATH message. When applying a CSPF algorithm tolearn aboutcompute the backuplabels used atroute, themerging points. 5.2. Proceduresfollowing constraints should be satisfied: - For detour LSPs, the destination MUST be the tail-end of the protected LSP; for bypass tunnels (Section 6), thePLR Upon receiving a Path message that contains a FAST_REROUTE object, a PLR needs to run CPSF based ondestination MUST be theinformation provided inaddress of theFAST_REROUTE, as well asMP. - When setting up one-to-one protection using thedownstream interface and nexthop router information, to computepath-specific method, a detourroute. More details on CSPF computation are describedMUST not traverse the upstream links of the protected LSP inSection 7. Once athe same direction. This prevents the possibility of early merging of the detouris successfully computed and established,into thePLR needs not to computeprotected LSP. When setting up one-to-one protection using the sender-template-specific method, a detourroutes again, unless (1)should not traverse thecontentsupstream links ofFAST_REROUTE have changed, or (2)thedownstream interface and/orprotected LSP in the same direction; this prevents sharing thenexthop router forbandwidth between a protected LSPhave changed. After a successful detour computation,and its backup upstream of thePLR generates a Path message to setupfailure where the bandwidth would be used twice in the event of adetour path.failure. - ThePath consists ofbackup LSP cannot traverse thefollowing: - A DETOUR objectdownstream node and/or link whose failure is being protected against. Note thatspecifiesif thecurrentPLRIDis the penultimate hop, node protection is not possible andAvoid Node ID. Only one pair of (PLR_ID, Avoid_Node_ID) permitted. - An EXPLICIT_ROUTE object towardonly theegress.downstream link can be avoided. TheERO information comesbackup path may be computed to be SRLG disjoint from theCSPF computation.downstream node and/or link being avoided. - TheSENDER_TSPEC object containsbackup path must satisfy thebandwidth informationresource requirements of the protected LSP. This SHOULD consider the link attribute filters, bandwidth, and hop limits determined from thepreviously receivedFAST_REROUTEobjects. - The RSVP_HOPobjectcontainsand SESSION_ATTRIBUTE object. If such computation succeeds, thePLR's IP address. -PLR should attempt to establish a backup path. Thedetour LSPPLR maygenerateschedule a re-computation at a later time to discover better paths that may have emerged. If for any reason, the PLR is unable to bring up a backup path, it must schedule a retry at a later time. 6.3 Signaling Backups for One-To-One Protection Once a PLR has decided to locally protect an LSP with one-to-one backup, andprocess its own RRO object. -has identified the desired path, it takes the following steps to signal the detour. TheFAST_REROUTE object MUST NOTfollowing describes the transformation to beincluded.performed upon the protected LSP's PATH message to create the detour LSP's PATH message. -When usingIf thesender-template-specific approach,sender-template specific method is to be used, then the PLR MUST change the "IPv4 (or IPv6) tunnel sender address"inof the SENDER_TEMPLATEmust be setto an address belonging to thePLR. - The detour LSPs MUST usePLR that is not the samereservation styleas was used for the protected LSP.This must be correctly reflected inAdditionally, theSESSION_ATTRIBUTE object. - All other objects SHOULDDETOUR object MAY beidenticaladded tothose of the protected LSP. The PLR MUST not mix the messages for the protected and the detour LSPs. When a PLR receives Resv, ResvTear and PathErr messages from the downstream detour destination,themessages MUST not be forwarded upstream. Similarly, when a PLR receives ResvErr and ResvConf messages from a protected LSP, it MUST not propagate them ontoPATH message. - If theassociated detour LSP. A session tear-down requestpath-specific method isnormally originated by the sender via PathTear messages. When a PLR node receives a PathTear message from upstream, it MUST delete both protected and detour LSPs. The PathTear messages MUST propagatetoboth protected and detour LSPs. During error conditions, the LSRs may send ResvTear messages to fix problems onbe used, then thefailing path. When aPLRnode receives the ResvTear messages from downstream for a protected LSP, as long as a detour is up, the ResvTear messagesMUSTnot sent further upstream. 5.3. Procedures for the MP using the Path-Specific Approach An LSR (that is,add aMP) may receive multiple Path messages from different interfaces with identical SESSION and SENDER_TEMPLATE objects. Path state merging is REQUIRED.DETOUR object to the PATH message. - The SESSION_ATTRIBUTE flags "Local protection desired", "Bandwidth protection desired" and "Node protection desired" MUST be cleared. Themerging rule is"Label recording desired" flag MAY be modified. If thefollowing: For allPathmessages that do not have eitherMessage contained a FAST_REROUTEor a DETOURobject,orand theMPERO is not completely strict, theegressInclude-any, Exclude-any, and Include-all fields of theLSP, no merging is required. The messages are processed accordingFAST_REROUTE object should be copied to[RSVP-TE]. Otherwise,theMP MUST recordcorresponding fields of thePath state as well as their incoming interface.SESSION_ATTRIBUTE object. - If the protected LSP's Pathmessages do not share outgoing interface and next-hop LSR,message contained a FAST_REROUTE object, this MUST be removed from theMPdetour LSP's PATH message. - The PLR mustconsider them as independent LSPs, andgenerate an EXPLICIT_ROUTE object toward the egress. First, the PLR mustnot merge them. Forremove all sub-objects preceding thePath messages that sharefirst address belonging to thesame outgoing interfaceMerge Point. Then the PLR should add sub-objects corresponding to the desired backup path between the PLR andnext-hop LSR,theMP runsMP. - The SENDER_TSPEC object should contain thefollowing procedure to selectbandwidth information from the received FAST_REROUTE object, if included in the protected LSP's PATH message. - The RSVP_HOP object containing one ofthem asthefinal LSP. 1. Eliminate from consideration those that traverse nodes that otherPLR's IP address. - The detour LSPswant to avoid. 2. If one LSP is originated from this node, this must beMUST use thefinalsame reservation style as the protected LSP.Quit. 3. If only one LSP contains FAST_REROUTE object, thisThis must be correctly reflected in thefinal LSP. Quit. 4. If thereSESSION_ATTRIBUTE object. Detour LSPs areseveral LSPs,regular LSPs in operation. Once a detour path is successfully computed and the detour LSP is established, the PLR need notallcompute detour routes again, unless (1) the contents ofthemFAST_REROUTE have changed, or (2) the downstream interface and/or the nexthop router for aDETOUR object, then eliminate those with DETOUR from finalprotected LSPconsiderations. 5. If several candidates remain (that is, there are bothhave changed. The PLR may recompute detourand protected LSPs), prefer the onesroutes at any time. 6.3.1 Make-Before-Break withFAST_REROUTE object. 6. If none found, prefer the ones without DETOUR object.Detour LSPs Ifnone found, prefertheones with DETOUR object. 7. If several candidate LSPs still remain,sender-template specific method is used, it isa local decisionpossible to do make-before-break with detour LSPs. This is done by using two different IP addresses belonging tochoose which one will bethefinal LSP. The decision can be based onPLR (which were not used in thenumberSENDER_TEMPLATE of the protected LSP). If the current detour LSP uses the first IPhopsaddress inERO, bandwidth requirements, or others.its SENDER_TEMPLATE, then the new detour LSP should be signaled using the second IP address in its SENDER_TEMPLATE. Once thefinalnew detour LSP has beenidentified,created, theMP MUST only transmitcurrent detour LSP can be torn down. By alternating thePathuse of these IP addresses, the current and new detour LSPs will have different SENDER_TEMPLATES and, thus, different state in the downstream LSRs. This make-before-break mechanism, changing the PLR IP address in the DETOUR object instead, is not feasible with the path-specific method because the PATH messagesthat are corresponding tofor new and current detour LSPs may be merged if they share a common next-hop. 6.3.2 Message Handling LSRs must process the detour LSPs independent of thefinal LSP. Otherprotected LSPsare considered merged at this node.to avoid triggering the LSP loop detection procedure described in [RSVP-TE]. TheMP may receive PathTearPLR MUST not mix the messages forsome ofthemerging LSPs. No PathTear message should be propagated downstream untilprotected and theMP has received tear-down from all mergingdetour LSPs. Whenan LSR receivesa PLR receives Resv, ResvTearfor an LSPandit isPathErr messages from the downstream detour destination, the messages MUST not be forwarded upstream. Similarly, when a PLRfor thatreceives ResvErr and ResvConf messages from a protected LSP,then the LSR SHOULDit MUST not propagate them onto theResvTear towards the LSP's ingress. For each backup LSP where the LSRassociated detour LSP. A session tear-down request is normally originated by themerge node, the ResvTear should also be propagated along the backup LSP towards the backup LSP's ingress,sender via PathTear messages. When aPLR. 5.3.1. An Example on Path Message Merging ConsiderPLR node receives a PathTear message from upstream, it MUST delete both thefollowing example: G----H----I--\ | | | \ A----B----C----D----E---F TheprotectedLSP is A-B-C-D-E-F. After running CSPF, let the detour ERO from B be B-G-H-I-D-E-F,and the detourERO from C be C-H-I-E-F. H will receive PathLSPs. The PathTear messagesthat have the same SESSION and SENDER_TEMPLATE from detours for BMUST propagate to both protected andC. During merging at H, sincedetourC hasLSPs. During error conditions, the LSRs may send ResvTear messages to fix problems on the failing path. When ashorter ERO path length (that is, ERO is I-E-F, and path length is 3), H will select it asPLR node receives thefinal LSP, and only propagate its PathResvTear messagesdownstream. Upon receivingfrom downstream for aResv (orprotected LSP, as long as aResvTear) message, H must relay ondetour is up, the ResvTear messagestoward both B and C. E needs to merge as well, and will selectMUST not be sent further upstream. PathErrs should be treated similiarly. 6.3.3 Local Reroute of Traffic onto Detour LSP When themainPLR detects a failure on the protected LSP,since it hastheFAST_REROUTE object. Thus,PLR MUST rapidly switch packets to thedetourprotected LSP's backup LSPterminates at E. 5.3.2. Creating new DETOUR object at MP If several LSPs are merged, the MP usesinstead of thefollowing algorithmprotected LSP's normal out-segment. The goal of this technique is toformat its outgoing DETOUR object foreffect thefinalredirection within 10s of milliseconds. L32 L33 L34 L35 R1-------R2-------R3-------R4-------R5 | | L46 | L47 | L44 R6---------------R7 Protected LSP:- If final LSP is protected LSP itself (that is, it contains FAST_REROUTE object), no DETOUR object needed. - Otherwise, combine all[R1->R2->R3->R4->R5] Detour LSP: [R2->R6->R7->R4] Example 3: Redirect to Detour In Example 3 above, if the(PLR_ID, Avoid_Node_ID) pairs from alllink [R2->R3] fails, then R2 would do theDETOUR objectsfollowing. Any traffic received on link [R1->R2] with label L32 would be sent out link [R2->R6] with label L46 (along the detour LSP) instead ofall merged LSPs,out link [R3->R4] with lable L34 (along the protected LSP). The Merge Point, R4, would recognize that packets received on link [R7->R4] with label L44 should be sent out link [R4->R5] with label L35, andcreate a new objectthus merged withall listed. Ordering is insignificant. 5.4. Local reroute ofthetraffic ontoprotected LSP. 6.4 Signaling for Facility Protection A PLR may use one or more bypass tunnels to protect against thedetour LSP Detour LSPs are regular LSPsfailure of a link and/or a node. These bypass tunnels may be setup inoperation. They are established as soonadvance or may be dynamically created asthenew protected LSPs areup. During local repair, packets belongingsignaled. 6.4.1. Discovering Downstream Labels To support facility backup, it is necessary for the PLR to determine aprotected LSP are simply switched (for example,labelswapping) ontowhich will indicate to thecorresponding detour LSP. AtMP that packets received with that label should be switched along theMerge Point,protected LSP. This can be done without explicitly signaling thepackets arrived frombackup path if thedetour LSP are mergedMP uses a label space global to that LSR. As described in Section 5, thefinal LSP. Inhead-end LSR MUST set theexample above,"label recording requested" flag in the SESSION_ATTRIBUTE object for LSPs requesting local protection. This will cause (as specified in [RSVP- TE]) all LSRs to record their INBOUND labels and to note via a flag iftherethe label isa node failure at D, C will switch traffic ontoglobal to thepre-established detourLSR. Thus, when a protected LSP(C-H-I-E-F). At E,is first signaled through a PLR, thetraffic switches ontoPLR can examine the RRO in the Resv message and learn about the incoming labels that are used by all downstream nodes for this LSP. When MPs use per-interface-label spaces, the PLR must send Path messages (for each protected LSPagain. 6. Facility protectionusinglabel stacked bypass tunnel In this section, we describe a method whereasingle backup tunnel can be used to protect many LSPs. The LSPs can be protected against both link and node failures. Each PLR makes use of one or more NHOP or NNHOPbypasstunnels. Eachtunnel) via that bypass tunnelwill be usedprior tobackup a set of protected LSP. Those bypass tunnels may be setup initially or may also be dynamically setup. The users at head-end initiate the fast reroute process by settingtheappropriated fieldsfailure in order to discover theSESSION_ATTRIBUTE and/or FAST_REROUTE objectsappropriate MP label. The signaling procedures for this are inan LSP's Path messages. At each PLR, oneSection 6.4.3 below. 6.4.2. Procedures for the PLR before Local Repair A PLR which determines to use facility-backup to protect a given LSP SHOULD select a bypass tunnel to use taking into account whether node protection isselectedtoreroute an LSP's data packetsbe provided, what bandwidth was requested and whether a bandwidth guarantee is desired, and what link attribute filters were specified incase of network failure.the FAST_REROUTE object. Theprocessselection ofselectinga bypass tunnel for a protected LSP is performed by the PLR when the LSP is first setup.During failure,6.4.3. Procedures for the PLR during Local Repair When the PLRreroutesdetects a link or/and node failure condition, it needs to reroute the datapackets of each protected LSPtraffic onto the bypasstunnel. Thetunnel and to start sending the controlmessages oftraffic for thebacked-up LSPs are also sent overprotected LSP onto the bypass tunnel. Thefacilitybackupusestunnel is identified using the sender-template-specificapproachmethod. The procedures toidentify the backup tunnels. 6.1. Discovering downstream labels When global labelsfollow are similar to those described inuse at MPs, the PLR may learn backup labels in a very efficient manner.Section 6.3. - Thelabels are learned during normal signaling of the protected LSP by observing the contents of the RRO object in the Resv message. When a protected LSPSESSION isfirst signaled through a PLR, the PLR can learn about the incoming labels that are used by all downstream nodes for this LSP. In particular, it can learn incoming labels used by downstream MPs, whether they are one hop or multiple hops away from the PLR.unchanged. - The SESSION_ATTRIBUTE is unchanged except as follows: The "Local protection desired", "Bandwidth protection desired", and "Node protection desired" flags SHOULD be cleared. The "Label recording desired" MAY be modified. - Thelabels are learned during normal signalingIPv4 (or IPv6) tunnel sender address of theprotected LSP by observing the contents ofSENDER_TEMPLATE is set to an address belonging to theRROPLR. - The RSVP_HOP objectin the Resv message. Two methods are available for discovering/obtaining the label used at the merge node. One relies on explicit signaling over the bypass tunnel priormust contain an IP source address belonging toany failure of the primary path. Ifthenodes inPLR. Consequently, thenetwork use a global-to-the-node label space, thenMP will send messages back to thelabel can be discovered byPLR usingthe RROas a destination that IP address. - The PLR must generate an EXPLICIT_ROUTE objectwithout additional signaling. When this second method is intended,toward thehead-end router includes anegress. Detailed ERO processing is described below. - The RRO object may need to be updated, as described in Section 6.5. The PLR sends Path, PathTear, andsetsResvConf messages via thelabel-recording-requested flagbackup tunnel. The MP sends Resv, ResvTear, and PathErr messages by directly addressing them to the address in theSession_Attribute object. This will cause (asRSVP_HOP object contents as specified in[RSVP- TE]) all nodes[RSVP]. If it is necessary torecord their INBOUND labels andsignal the backup prior tonote via a flag iffailure to determine the MP labelis globalto use, then thenode. Note that when global labels are used, nosame Path messageneed be sent via the bypass tunnel prior to failure. When MPs use per-interface-label spaces,is sent. In this case, the PLRmustshould continue to send Path messages(for each Reroutable LSP) viafor the protected LSP along the normal route. PathTear messages should be duplicated, with one sent along the normal route and one sent thru the bypasstunnel prior totunnel. The MP should duplicate thefailure in orderResv and ResvTear messages and sent them todiscoverboth theappropriate MP label. The signaling proceduresPLR and the LSR indicated by the protected LSP's RSVP_HOP object. 6.4.4. Processing backup tunnel's ERO Procedures forthisERO processing areidentical to thosedescribed in [RSVP-TE]. This section6.3 below. 6.2. Proceduresdescribes additional ERO update procedures forthe PLR before fast-reroute When a protected LSP in first signaled, all the PLRs along the pathPath messages whichdetermine to create a backup tunnel via aare sent over bypasstunnel should perform the following: -tunnels. If normal ERO processing rules were followed, the"Local protection desired" bit is set inMerge Point would examine theSESSION_ATTRIBUTEfirst sub-object andthere is no Fast_Reroute object, or therelikely reject it (Bad initial sub-object). This isa Fast_Reroute object withbecause theFacility-Backup-Desired flag set,unmodified ERO might contain thePLR should select or createIP address of abypass tunnel for the reroutable LSP. - Ifbypassed node (in thePLR can findcase of a NNHOPbypass tunnel, the PLR MUST set the "Node protection" bit and the "Local protection available" flags of its IPv4Backup Tunnel), orIPv6 RRO subobject ifof anRRO objectinterface which isincluded in the Resv message. - Ifcurrently down (in thePLR cannot find a NNHOP bypass tunnel, but can findcase of a NHOPbypass tunnel,Backup Tunnel). For this reason, the PLRmust clear the "Node protection" bit and must setinvoke the"local protection available" flags in the RRO object of the Resv message, - If the PLR can findfollowing ERO procedures before sending a Path message via a bypasstunneltunnel. Sub-objects belonging to abstract nodes which precede the Merge Point are removed, along withbandwidth guarantee,thePLR must setfirst sub-object belonging to the"Bandwidth protection" flag inMP. A sub-object identifying theabove mentioned RRO subobject. - IfBackup Tunnel destination is then added. More specifically, the PLRcannot find a bypass tunnel with the requested bandwidth guarantee,must: - remove all thePLR must clearsub-objects proceeding the"Bandwidth protection" flag infirst address belonging to theabove mentioned RRO subobject. Based onMP. - replace thisadditional informationfirst MP address with an IP address of thehead-end may take appropriate actions. NoteMP. (Note thatwhen global labels are used, no Path message needthis could besent via the bypass tunnel prior to failure. 6.3.same address that was just removed.) 6.5. PLR ProceduresforDuring Local Repair In addition to thePLR during fast-reroute Whentechnique specific signaling and packet treatment, there is common signaling which should be followed. During fast reroute, for each protected LSP containing an RRO object, the PLRdetects a link or/and node failure condition, it needs to rerouteobtains thedata traffic ontoRRO from thebypass tunnelprotected LSP's stored RESV andto start sendingupdates it by inserting an IPv4 sub-object with thecontrol traffic forIPv4 address of theprotected LSP ontooutbound interface address thebypass tunnel. The backup tunneltraffic isidentified as follows: - The SESSION and SESSION_ATTRIBUTE are unchanged. -forwarded onto. The PLR MUST update the IPv4tunnel sender addressor IPv6 sub-object it inserted into the RRO by setting the "Local protection in use" and "Local Protection Available" flags. 6.5.1. Notification of local repair In many situations, theSENDER_TEMPLATEroute used during a Local Repair will be less than optimal. The purpose of Local Repair ischanged (set to an address belongingto keep high priority and loss sensitive traffic flowing while a more optimal re-routing of thePLR). - The RSVP_HOP object must containtunnel can be effected by theIPv4 source address (and LIH)head-end of thebypasstunnel.Consequently,Thus theMP will send messages backhead-end needs to know of thePLR with HOP objects containing this same IPv4 address. - The PLR must generatefailure so it may re-signal anEXPLICIT_ROUTE object toward the egress. Detailed ERO processingLSP which isdescribed below. - The RRO object may need to be updated, as described below. Messages sent by PLR via the backup tunnel include Path, PathTear, and ResvConf. Messages sent by MP via the same RSVP_HOP object contents include Resv, and ResvTear. 6.3.1. Processing backup tunnel's ERO Procedures for ERO processing are described in [RSVP-TE]. If normal ERO processing rules are followed by the Merge Point, andoptimal. To provide this notification, the PLRsendsSHOULD send a Path Error messagevia the backup tunnel, the Merge Point would examine the first sub-objectwith error code of "Notify" (Error code =25) andlikely reject it (Bad initial sub- object). This is because the ERO may contain the IP addressan error value field ofa bypassed node (inss00 cccc cccc cccc where ss=00 and thecase ofsub-code = 3 ("Tunnel locally repaired") (see [RSVP-TE]) Additionally aNNHOP Backup Tunnel), or ofhead-end may also detect that aninterface which is currently down (inLSP needs to be moved to a more optimal path by noticing failures reported via the IGP. Note that in the case ofa NHOP Backup Tunnel). For this reason, the PLR must updateinter-area TE LSP (TE LSP spanning areas), theERO before sendinghead-end LSR will need to rely exclusively on Path Error messagesonto Backup Tunnels. Thisto be informed of failures in another area. 6.5.2 Revertive Behavior Upon a failure event, a protected TE LSP isdonelocally repaired byoperating on the original ERO: Sub-objects belonging to abstract nodes which precedetheMerge PointPLR. There areremoved, along withtwo basic strategies for restoring thefirst Sub-object belongingTE LSP tothe MP. A Sub-object identifying the Backup Tunnel destination is then added. More specifically, the PLR must:a full working path. -remove all the sub-objects proceedingGlobal revertive mode: The head-end LSR of each tunnel is responsible for reoptimizing thefirst address belonging toTE LSPs that used theMP.failed resource. There are several potential reoptimization triggers -replaceRSVP error messages, inspection of OSPF LSAs or ISIS LSPs, and timers. Note that thisfirst MP address withre-optimization process may proceed as soon as theIP destination addressfailure is detected. It is not tied to the restoration of thebackup tunnel. The procedure described above ensures successful ERO processing atfailed resource. - Local revertive mode: Upon detecting that theMerge Point. 6.3.2. Processing backup tunnel's RRO During fast reroute, for each protected LSP containing an RRO object,resource is restored, the PLRmust update the RRO by inserting an IPv4 sub-object with the IPv4 addressre-signals each of TE LSPs that used to be routed over thebackup tunnel source address in the Path messages. For each reroutedrestored resource. Every TE LSPin the backup tunnel, the PLR must update the RRO object in Resv messages sent upstream insuccessfully resignaled along thefollowing manner: -restored resource is switched back. There are several circumstances where a local revertive mode might not be desirable. In theIPv4 or IPv6 sub-object inserted by this node, set the "Local protection available" and "Local protection in use" flags according to the current statecase of resource flapping (not an uncommon failure type), this could generate multiple traffic disruptions. Therefore, in the localrepair mechanism. - Updaterevertive mode, thelabel sub-object recordingPLR should implement a means to dampen theINBOUND label (same label valuere-signaling process in order to limit potential disruptions due to flapping. In the local revertive mode, any TE LSP will be switched back, without any distinction, as opposed to theone sentglobal revertive mode where theResv message). 6.4. Procedures for state maintenance during fast-reroute We will describe how state is maintained using an example: [R8] \ [R1]---[R2]-X--[R3]----[R4]---[R5] \\ // \ [R6]===[R7] [R9] We assume that: - a bypass tunneldecision to reuse the restored resource isset up and followstaken by the head-end LSR based on the TE LSP attributes. When the head-end learns of the failure, it may reoptimize theR2-R6-R7-R4 path; - PLR (R2) performs 1:N protection; - variousprotectedLSPs existLSP tunnel along a different andfollowmore optimal path, because it has a more complete view of theR2-R3-R4 segment; - link R2-R3 fails,resources andall protected LSPs are rerouted viaTE LSP constraints; this means that thebypass tunnel.old LSP which has been reverted to may not be optimal any longer. Note thatthe same procedure as the one described bellow would applyin the case ofa node (R3) failure. 6.4.1. Path state Path state for every locally repaired LSPs is refreshed downstream byinter-area LSP, where thePLR. TheseTE LSP path computation might be done on some Pathmessages use a new SENDER_TEMPLATE value (the IPv4 tunnel sender address is set to a PLR address), and are sent ontoComputation Server, thebypass tunnel with changed PHOP, ERO and RRO. When areoptimization process can still be triggered on the Head-End LSP. The locallink fails,revertive mode is optional. However, therecould be someare circumstances where the Head-end does not have the ability to reroute the TE LSP (e.g if the protectedLSPsLSP is pinned down, as may be desirable if the paths are determined usingthis link. At this point,an off-line optimization tool) or if Head-end does not have the complete TE topology information (depending on theLSR MUST NOT removepath computation scenario). In those cases, thestate (Path and Resv) and send PathTear and ResvErr messageslocal revertive might be a interesting option. It is recommended thatare corresponding to these LSPs immediately. Weone alwaysassumeuse the globally revertive mode. Note thatthese LSPsa link or node "failure" mayhave been repaired upstream, and new Path messages will soon arrive via the bypass tunnels. However, the state willberemoved if they have not been refreshed by a PLR afterdue to thesoft-state lifetime has expired. 6.4.2. Resv state Resv statefacility being permanently taken out of service. Local revertive mode isrefreshed byoptional. When used in combination, theMP by sending Resv messagesglobal mode may rely solely on timers to do theIP destination containedreoptimization. When local revertive mode is not used, head-end LSRs SHOULD react to RSVP error messages and/or IGP indications in order to make a timely response. Interoperability: If a PLR is configured with thePHOP object oflocal revertive mode but thePath message received viaMP is not, any attempt from thebypass tunnel. ThePLRreceives these Resv messages, refreshes the original state (correspondingto resignal theprotected LSP), and hence continues refreshingTE LSP over thestate upstream ofrestored resource would fail as the MP will not send any Resv message. The PLRtowill still refresh thehead-end. 6.5. Local reroute ofTE LSP over thetraffic ontobackup tunnel. The TE LSP will not revert to thebypass tunnel To perform Local Repair, packets belongingrestored resource; instead it will continue toa protected LSP are sent onuse thecorrespondingbackuptunnel in case of local failure.until it is re-optimized. 7. Merge Node Behavior Anadditional label (representing the bypass tunnel)LSR ispushed onto the stack. At the penultimate hop of the bypass tunnel,a Merge Point if it receives theadditional labelPath message for a protected LSP and one or more messages for a backup LSP which ispopped off the stack. The packet thus arrives atmerged into that protected LSP. In theMerge Point withone-to-one backup technique, thesame top-level label it would have carried when arriving prior to failure (althoughLSR is aware that itwould have arrived onis adifferent interfacemerge node prior tofailure). 7. Procedures for detour and bypass tunnel computation To setupfailure. In thedetours described in Section 5 andfacility backup technique, thebypass tunnels in Section 6, CSPFLSR maybe used to find the optimal route. Before CSPF computation, the following information should be collected at a PLR: - The list of downstream nodesnot know that it is a Merge Point until a failure occurs and it receives a backup LSP's Path message. Therefore, an LSR which is on the path of a protected LSPpasses through. This informationSHOULD always assume that it isreadily available from the RECORD_ROUTE objects during LSP setup. Note,aprotectedmerge point. When a MP receives a backup LSP'sEROPath message thru a bypass tunnel, the Send_TTL in the Common Header may notprovide adequate information since the LSP could be a loose routed path. - The downstream links/nodes that we want to protect against. Once again, this information is learnt frommatch theRECORD_ROUTE objects. - The upstream uni-directional links thatTTL of theprotected LSP passes through, this information is learnt fromIP packet within which theRECORD_ROUTE objects.Path message was transported. Thisinformationisonly neededexpected behavior. 7.1. Handling Backup Path Messages Before Failure There are two circumstances where a Merge Point will receive Path messages forsetting up one-to-one protection in path-message-specific approach. - The LSP resource information, such as bandwidth. Such information can be found in the FAST_REROUTE objects. When applyingaCSPF algorithmbackup path prior tocomputefailure. In the first case, if a PLR is providing local protection via the one-to-one backuproute,technique, thefollowing constraints shoulddetour will besatisfied: - The source address ofsignaled and must be properly handled by the MP. In this case, the backup LSPis the current PLR, For setting detours (Section 5), the destination MUSTmay be signaled via thetail-end ofsender-template-specific method or via theprotected LSP, whereas for setting up bypass tunnels (Section 6),path-specific method. In thedestination MUST besecond case, if theaddressMerge Point does not provide labels global to the MP and record them in a Label sub-object of theMP. - When setting up one-to-one protection usingRRO or if thepath-specific approach, a detour MUSTPLR does nottraverseuse such recorded information, theupstream links ofPLR may signal theprotected LSPbackup path, as described above in Section 6.4.1, to determine thesame direction. This preventslabel to use if thepossibility of early mergingPLR is providing protection according to the facility backup technique. In this case, the backup LSP is signaled via the sender-template-specific method. The reception of a backup LSP's path message does not indicate that a failure has occured and thedetour intoincoming protected LSP will no longer be used. 7.1.1. Merginging Backup Paths using the Sender-Template Specific Method An LSR may receive multiple Path messages for one or more backup LSPs and, possibly, the protected LSP.-Each of these Path messages will have a different SENDER_TEMPLATE. Thebackupprotected LSPcannot traversecan be recognized because it will either include thedownstream nodesFAST_REROUTE object, have the "local protection desired" flag set in the SESSION_ATTRIBUTE object or both. If the outgoing interface andlinksnext-hop LSR are the same, then the Path messages are eligible for merging. As specified in [RSVP], only those Path messages whose ERO from thatwe are tryingLSR toprotect against. However, ifthePLRegress is thepenultimate hop, avoid traversing downstream link only. The detour LSP/bypass tunnel may alsosame can beSRLG disjoint from the protected section (seemerged. If merging occurs and one of thenote atPath messages merged was for theend of this section). - The backup path must satisfyprotected LSP, then theresource requirementsfinal Path message to be sent MUST be that of the protected LSP.If such computation succeeds,This merges thePLR should trigger RSVP to establish a backup path. The PLR may schedule a re-computation at a later time. Thebackuppath should be as short as possible, and must merge backLSPs into the protected LSP atits MP. If for any reason,that LSR. Once thePLR is unable to bring up a backup path, it must schedule a retry at a later time. The PLRfinal Path message has been identified, theoptionMP MUST start toapply other constraints duringrefresh it downstream periodically. If merging occurs and all theCSPF computation. For example, a simple method can be to terminatePath messages were for backup LSPs, then thecomputation as soonDETOUR object, if any, should be altered asa backup path is found. Onspecified in Section 8.1 7.1.2. Merging Detours using theother hand,Path-Specific Method An LSR (that is, animplementationMP) maywish to continue exhaustive search to discover an optimal pathreceive multiple Path messages from different interfaces withlowest cost (or highest available bandwidth).identical SESSION and SENDER_TEMPLATE objects. In this case, Path state merging is REQUIRED. ThePLR also hasmerging rule is theoption to re-computefollowing: For all Path messages that do not have either a FAST_REROUTE or a DETOUR object, or thebackup path periodically even afterMP is thebackupegress of the LSP, no merging isup and running to ensure continuous adaptationrequired. The messages are processed according to [RSVP-TE]. Otherwise, thelatest network conditions. However, duringMP MUST record thereplacement of a functional backup path with a more optimal one,Path state as well as their incoming interface. If theprotected LSP mayPath messages do nothave any backup path available for a short interval. Except, ifshare outgoing interface and next-hop LSR, thePLR supports both one-to-oneMP must consider them as independent LSPs, andfacility backup schemes,must not merge them. For all theprotected LSP could be protected by multiple backup LSPs. In this case,Path messages that share theLSP is fully protected at all time. Nevertheless,same outgoing interface and next-hop LSR, theexact CSPF algorithms to be used to compute back-up tunnels or detour LSPs are beyondMP runs thescopefollowing procedure to select one of them as the Path message to forward downstream. 1. Eliminate from consideration those that traverse nodes that other Path messages want to avoid. 2. If one LSP is originated from thisdocument. Both [OSPF-TE] and [ISIS-TE] may provide more insight onnode, thissubject. Note also that the backup tunnel path computation maymust beperformed by a centralized path computation server or may use some distributed backup path computation algorithms. 7.1. Notion of diverse routing Two TE LSPs are said link diverse if andthe final LSP. Quit. 3. If onlyif their paths do not have any link in common. Two TE LSPsone Path message contains FAST_REROUTE object, this becomes the chosen Path message. Quit. 4. If there aresaid node diverse ifseveral LSPs, andonly if their paths donot all of them haveany node in common. It is straightforward to demonstrate that two node diverse paths are also link diverse. To be effectiveabackup tunnel must imperatively be diversely routedDETOUR object, then eliminate those with DETOUR fromthe protected LSP path section it is protecting. Thatconsideration. 5. If several candidates remain (that is,a one- hop NHOP backup tunnel path must not contain thethere are both detour and protectedlink. In the example provided in Section 6,LSPs), prefer thebackup LSP path must not containones with FAST_REROUTE object. 6. If none found, prefer theR2-R3 link. A NNHOP backup tunnel must not containones without DETOUR object. If none found, prefer theprotected link norones with DETOUR object. 7. If several candidate Path message still remain, it is a local decision to choose which one will be thePLR's next hop. Infinal LSP. The decision can be based on thefirst example providednumber of IP hops inSection 1, the backup tunnel must not traverseERO, bandwidth requirements, or others. Once theR2-R3 link norfinal Path message has been identified, theR3MP MUST start to refresh it downstream periodically. Other LSPs are considered merged at this node.The notion of SRLG diverse path also exists. A set of links constitute a SRLG ("Shared Risk Link Group") if they share a resource whose failure may affect all the links in the set. SoFor bandwidth reservation on thebackup tunnel mayoutgoing link, any merging should beSRLG disjoint from theconsidered to have occured before bandwidth is reserved. Thus, even though Fixed Filter is specified, multiple detours and/or their protected LSPpath section it is protecting. Note that inwhich are to be merged due to sharing an outgoing interface and next-hop LSR will reserve only thecasebandwidth of the final Path message on that outgoing interface. 7.1.2.1. An Example on Path Message Merging R7---R8---R9-\ | | | \ R1---R2---R3---R4---R5---R6 Protected LSP: [R1->R2->R3->R4->R5->R6] R2's Detour: [R2->R7->R8->R9->R4->R5->R6] R3's Detour: [R3->R8->R9->R5->R6] Example 4: Path Message Merging In Example 4 above, R8 will receive Pathprotection, the whole paths ofmessages that have theprotected LSPsame SESSION andthe backup tunnel must be entirely link/node diverse. Well-known algorithms can be used to compute link/node/SRLG diversely routed paths. 8. Network Failure Detection, NotificationSENDER_TEMPLATE from detours for R2 andTroubleshooting 8.1. Notification of local repair In many situations, the route used duringR3. During merging at R8 since detour R3 has aLocal Repairshorter ERO path length (that is, ERO is [R9->R5->R6], and path length is 3), R8 willbe less than optimal. The point ofselect it as theLocal Repair is to keep high priorityfinal LSP, andloss sensitive traffic flowing whileonly propagate its Path messages downstream. Upon receiving amore optimal re-routing of the tunnel can be effected by the head-end of the tunnel. ThusResv (or a ResvTear) message, R8 must relay on thehead-endmessages toward both R2 and R3. R5 needs toknow ofmerge as well, and will select thefailure somain LSP, since itmay re-signal an LSP which is optimal. To provide this notification, the PLR SHOULD send a Path Error message with error code of "Notify" (Error code =25) and an error value field of ss00 cccc cccc cccc where ss=00 andhas thesub-code = 3 ("Tunnel locally repaired") (see [RSVP-TE]) Note also that inFAST_REROUTE object. Thus, thecase of inter-area TE LSP (TEdetour LSPspanning areas), the head-endterminates at R5. 7.1.3. Message Handling for Merged Detours When an LSRwill exclusively rely onreceives a ResvTear for an LSP, thePath Error message to be informed thatLSR must determine whether it has an alternate associated LSP. For instance, if the ResvTear was received for a protected LSP, but an associated backup LSP hassufferednot received afailure ifResvTear, then thefailure occurs in another area thanLSR has an alternate associated LSP. If thearea it belongs to. InLSR does not have an alternate associated LSP, then thecase of a failure occurring inMP MUST propogate thehead-end area or inResvTear toward thecase of intra-area TE LSP,LSP's ingress and, for each backup LSP merged into that LSP at this LSR, thehead-end couldResvTear should alsodetectbe propogated along theTE LSP failure throughbackup LSP. The MP may receive PathTear messages for some of theIGP notification. 8.2. Failure detection mechanisms Link failure detection can be performed through layer-2 failure detection mechanism. Node failure detection canmerging LSPs. No PathTear message should bedone through IGP loss of adjacency or RSVP hellos messages extensions as per defined in [RSVP-TE]. However, it is beyondpropagated downstream until thescopeMP has received PathTear messages for each ofthis document to define and describe the exact mechanisms on failure detection. When a network failure is detected,thePLR MUST immediately switch traffic frommerged LSPs. However, theprotected LSP tofact that one or more of thebackup path. Atmerged LSPs has been torn down should be reflected in thesame time,downstream message, such as by changing thePLR MAY sendDETOUR object, if any. 7.2. Handling Failures When aPathErr messages toward the head-enddownstream LSRto notify the failure condition. The PLR MUST senddetects aRESV with an updated RRO which indicates that local protection is in use. 8.3. Troubleshooting oflocalrepair For troubleshooting purposes, an RRO object maylink failure, for any protected LSPs routed over the failed link, Path and Resv state MUST NOT beinserted incleared and PathTear and ResvErr messages MUST NOT be sent immediately; if this is not thePath message sent bycase, then thehead-end. The previously described mechanisms dofacility backup technique will notrequirework. Further a downstream LSR SHOULD reset thePath messagerefresh timers for these LSPs as if they had just been refreshed. This is tocarry an RRO object. Onallow time for theother hand,PLR to begin refreshing state via theRRO objectbypass tunnel. State MUST beinserted inremoved if it has not been refreshed before the refresh timer expires. This allows the facility backup technique to work without requiring that it signal backup paths thru the bypass tunnel before failure. After a failure has occured, the MP must still send Resvmessagemessages for the backup LSPs associated with the protected LSPs which have failed. If the backup LSPifwas sent through a bypass tunnel, then the"Local protection desired" bitPHOP object in its Path message will have the IP address of theSESSION_ATTRIBUTEassociated PLR. This will ensure that Resv state is refreshed. Once the local link hasbeen set inrecovered, thecorresponding Path message,MP may orif FAST_REROUTE object is present inmay not accept Pathmessages. 9. Interoperability considerationsmessages for existing protected LSPs which had failed over to their backup. 8. Behavior of all LSRs Thefollowing guidelines are useful when running one-to-one and/or facility backups. 9.1. Requesting local-protectionobjects defined andrecognizing those requests The head-end LSR of a protected LSP MUST either setthe"Local protection desired" flagtechniques defined inthe SESSION_ATTRIBUTE object, or include the FAST_REROUTE object, or both. A PLR MUST consider that a PATH message with either a set "Local protection desired" flagthis document require behavior from all LSRs in theSESSION_ATTRIBUTE object, or the presence of the FAST_REROUTE object, or both to be a request for local protection. A PLR SHOULD considertraffic-engineered network, even if that LSR is not along theconstraints signaled viapath of areceived FAST_REROUTE object, orprotected LSP. First, if areceived SESSION_ATTRIBUTEDETOUR object(Bandwidth and Node protection constraints on the bypass tunnel can also be specified by setting the "Bandwidth protection desired" and "Node protection desired" bitsis included in theSESSION_ATTRIBUTE object), when determining thebackup LSP's pathto use. If signaled backup constraints and bandwidth are desired, the PATHmessageSHOULD containfor theFAST_REROUTE object. A head-end LSR MUST setsender-template-specific method, the"Label recording desired" flagLSRs in theSESSION_ATTRIBUTE objecttraffic-engineered network should support the DETOUR object. Second, ifa backup tunnel through a bypass tunnelthe Path-Specific Method isdesired. If local protection was not requestedto be supported for thecurrent LSP of a tunnel andone-to-one backup technique, it isthen desired fornecessary thattunnel, the head-end LSR MUST send a new Path message reflectingthechange ("Local protection desired" flag setLSRs in theSESSION_ATTRIBUTE object or include a FAST_REROUTE object). When a node detects a changetraffic-engineered network be capable of merging detours as specified below inthe SESSION_ATTRIBUTE object it SHOULD forward the Path message immediately. 9.2. Backups for local protection A PLR that recognizes that local protectionSection 8.1. It isrequired on a protected LSP MUST trypossible toprotect the LSP's data path immediately,avoid specific LSRs which do not support this behavior byeither setting upassigning anone-to-one detour LSP or a bypass tunnel. When a network has a mixlink attribute to all the links ofPLRsthose LSPs and then requesting thatsupport either one-to-one backup, or facility backup, or both,backup paths exclude that link attribute. 8.1. Merging Detours in Path-Specific Method If multiple Path Messages for different detours are received with the same SESSION, SENDER_TEMPLATE, outgoing interface and next-hop LSR, then the LSR must function as a Detour Merge Point and merge the detour Path Messages. This merging should occur as specified in Section 7.1.2 and shown in Example 4. In addition, it isupnecessary to update thenetwork operators to decide which backup mechanismDETOUR object touse. When using both schemes,reflect thePLRmerging which hasthe option to backup data traffic on an one-to-one detour LSP, as well as on a bypass tunnel. In case of a network failure, the PLR can re-reroute traffictaken place. This is done usingone of the two backup path initially. If the backup path failed also,theother backup path can be usedfollowing algorithm tore-reroute user traffic. If no established detour LSP or backup tunnel exists, orformat thedetour LSP andoutgoing DETOUR object for thebackup tunnel is in "DOWN" state,final LSP: - Combine all thePLR MUST clear(PLR_ID, Avoid_Node_ID) pairs from all the"local protection available" flag in its IPv4 (or IPv6) address subobjectDETOUR objects ofthe RROall merged LSPs, andSHOULD send the updated RESV. Whencreate adetour LSP or backup tunnelnew object with all listed. Ordering isestablished, the PLR MUST set the "local protection available" flag and the appropriated "bandwidth protection" and "node protection" bits, and SHOULD send the updated Resv. 10.insignificant. 9. Security Considerations This document does not introduce new security issues. The security considerations pertaining to the original RSVP protocol [RSVP] remain relevant.11.It should be noted that the facility backup technique requires that a PLR and its selected Merge Point will trust RSVP messages received from each other. 10. IANA Guidelines IANA [RFC-IANA] will assign RSVP C-class numbers for FAST_ROUTE and DETOUR objects. Currently, in production networks, FAST_REROUTE uses C-class 205, and DETOUR uses C-class 63.12.11. Intellectual Property Considerations Cisco Systems and Juniper Networks may have intellectual property rights claimed in regard to some of the specification contained in this document13.12. Full Copyright Statement Copyright (C) The Internet Society (2002). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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.14.13. Acknowledgments We would like to acknowledgetheinput and helpful comments fromArthi Ayyangar, Riza Cetin,Rob Goguen,Carol Iturralde, Kireeti Kompella, Manoj Leelanivas,Tony Li, Yakov Rekhter andNischal Sheth. 15.Curtis Villamizar. Especially, we thank those, who have been involved in interoperability testing and field trails, and provided invaluable ideas and suggestions. They are Rob Goguen, Carol Iturralde, Brook Bailey, Safaa Hasan, and Richard Southern. 14. References [RSVP] R. Braden, Ed., et al, "Resource ReSerVation protocol (RSVP) -- version 1 functional specification," RFC2205, September 1997. [RSVP-TE] D. Awduche, et al, "RSVP-TE: Extensions to RSVP for LSP tunnels", RFC3029, December 2001. [RFC-WORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, March 1997. [OSPF-TE] Katz, Yeung, Traffic Engineering Extensions to OSPF,draft- katz-yeung-ospf-traffic-05.txt,draft-katz-yeung-ospf-traffic-05.txt, June 2001. [ISIS-TE] Smit, Li, IS-IS extensions for Traffic Engineering, draft- ietf-isis-tr affic-03.txt, June 2001. [RSVP-REFRESH] L. Berger, et al, "RSVP Refresh Overhead Reduction Extensions", RFC2961. [RFC-IANA] T. Narten and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 2434.16.15. Author Information Ping PanJuniper Networks 1194 N.Mathilda Ave Sunnyvale,CIENA Corp. 10480 Ridgeview Court Cupertino, CA9408995014 e-mail:pingpan@juniper.netppan@ciena.net phone: +1 408745 3704366 4991 Der-Hwa Gan Juniper Networks 1194 N.Mathilda Ave Sunnyvale, CA 94089 e-mail: dhg@juniper.net phone: +1 408 745 2074 George Swallow Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA 01824 email: swallow@cisco.com phone: +1 978 244 8143 Jean Philippe Vasseur Cisco Systems, Inc.11, rue Camille Desmoulins 92782 Issy les Moulineaux Cedex 9, France300 Apollo Drive Chelmsford, MA 01824 email:jvasseur@cisco.comjpv@cisco.com phone:+33 689108267+1 978 497 6238 Dave Cooper Global Crossing 960 Hamlin Court Sunnyvale, CA 94089 email: dcooper@gblx.net phone: +1 916 415 0437 Alia Atlas Avici Systems 101 Billerica Avenue N. Billerica, MA 01862 email: aatlas@avici.com phone: +1 978 964 2070 Markus Jork Avici Systems 101 Billerica Avenue N. Billerica, MA 01862 email: mjork@avici.com phone: +1 978 964 2142