idnits 2.17.1 draft-ali-mpls-inter-domain-p2mp-rsvp-te-lsp-09.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([RFC4875]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 404 has weird spacing: '... the the no...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (October 15, 2012) is 4204 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC2119' is mentioned on line 244, but not defined == Missing Reference: 'RFC4874' is mentioned on line 316, but not defined == Missing Reference: 'RFC2205' is mentioned on line 561, but not defined == Unused Reference: 'RFC4726' is defined on line 662, but no explicit reference was found in the text ** Downref: Normative reference to an Informational RFC: RFC 5920 ** Downref: Normative reference to an Informational RFC: RFC 4736 Summary: 3 errors (**), 0 flaws (~~), 6 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MPLS Working Group Zafar Ali 3 Internet-Draft Rakesh Gandhi 4 Intended status: Standards Track Tarek Saad 5 Expires: April 18, 2013 Cisco Systems, Inc. 6 Robert H. Venator 7 Defense Information Systems Agency 8 Yuji Kamite 9 NTT Communications Corporation 10 October 15, 2012 12 Signaling RSVP-TE P2MP LSPs in an Inter-domain Environment 13 draft-ali-mpls-inter-domain-p2mp-rsvp-te-lsp-09 15 Abstract 17 Point-to-MultiPoint (P2MP) Multiprotocol Label Switching (MPLS) and 18 Generalized MPLS (GMPLS) Traffic Engineering Label Switched Paths (TE 19 LSPs) are established using signaling procedures defined in 20 [RFC4875]. However, [RFC4875] does not address several issues that 21 arise when a P2MP-TE LSP is signaled in inter-domain networks. One 22 such issue is the computation of a loosely routed inter-domain P2MP- 23 TE LSP paths that are re-merge free. Another issue is the 24 reoptimization of the inter-domain P2MP-TE LSP tree vs. an individual 25 destination(s), since the loosely routing domain ingress border node 26 is not aware of the reoptimization scope. This document defines the 27 required protocol extensions needed for establishing and reoptimizing 28 P2MP MPLS and GMPLS TE LSPs in inter-domain networks. 30 Status of this Memo 32 This Internet-Draft is submitted in full conformance with the 33 provisions of BCP 78 and BCP 79. 35 Internet-Drafts are working documents of the Internet Engineering 36 Task Force (IETF). Note that other groups may also distribute 37 working documents as Internet-Drafts. The list of current Internet- 38 Drafts is at http://datatracker.ietf.org/drafts/current/. 40 Internet-Drafts are draft documents valid for a maximum of six months 41 and may be updated, replaced, or obsoleted by other documents at any 42 time. It is inappropriate to use Internet-Drafts as reference 43 material or to cite them other than as "work in progress." 45 This Internet-Draft will expire on April 18, 2013. 47 Copyright Notice 49 Copyright (c) 2012 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (http://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the Simplified BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 65 1.1. Summary of Solutions . . . . . . . . . . . . . . . . . . . 4 66 1.2. Path Computation Techniques . . . . . . . . . . . . . . . 5 67 1.3. Use cases . . . . . . . . . . . . . . . . . . . . . . . . 5 68 2. Conventions used in this document . . . . . . . . . . . . . . 6 69 3. Control Plane Solution For Re-merge Handling . . . . . . . . . 6 70 3.1. Single Border Node For All S2Ls . . . . . . . . . . . . . 6 71 3.2. Crankback and PathErr Signaling Procedure . . . . . . . . 6 72 4. Data Plane Solution For Re-merge Handling . . . . . . . . . . 8 73 4.1. P2MP-TE Re-merge Recording Request Flag . . . . . . . . . 8 74 4.2. P2MP-TE Re-merge Present Flag . . . . . . . . . . . . . . 8 75 4.3. Signaling Procedure . . . . . . . . . . . . . . . . . . . 9 76 5. Intra-domain P2MP-TE LSP Re-merge Handling . . . . . . . . . . 10 77 6. Reoptimization Handling . . . . . . . . . . . . . . . . . . . 11 78 6.1. P2MP-TE Tree Re-evaluation Request Flag . . . . . . . . . 11 79 6.2. Preferable P2MP-TE Tree Exists Flag . . . . . . . . . . . 11 80 6.3. Signaling Procedure . . . . . . . . . . . . . . . . . . . 11 81 7. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 13 82 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 83 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 84 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 85 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 86 11.1. Normative References . . . . . . . . . . . . . . . . . . 15 87 11.2. Informative References . . . . . . . . . . . . . . . . . 15 88 Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16 90 1. Introduction 92 [RFC4875] describes procedures to set up Point-to-Multipoint (P2MP) 93 Traffic Engineering Label Switched Paths (TE LSPs) for use in 94 MultiProtocol Label Switching (MPLS) and Generalized MPLS (GMPLS) 95 networks. 97 As with Point-to-Point (P2P) TE LSPs, P2MP TE LSP state is managed 98 using RSVP messages. While the use of RSVP messages is mostly similar 99 to their P2P counterpart, P2MP LSP state differs from P2P LSP in a 100 number of ways. In particular, the P2MP LSP must also handle the 101 "re-merge" problem described in [RFC4875] section 18. 103 The term "re-merge" refers to the situation when two source-to-leaf 104 (S2L) sub-LSPs branch at some point in the P2MP tree, and then 105 intersect again at a another node further downstream the tree. This 106 may occur due to discrepancies in the routing algorithms used by 107 different nodes, errors in path calculation or manual configuration, 108 or network topology changes during the establishment of the P2MP LSP. 109 Such re-merges are inefficient due to the unnecessary duplication of 110 data and also consume additional network resources. Consequently one 111 of the requirements for signaling P2MP LSPs is to choose a P2MP path 112 that is re-merge free. In some deployments, it may also be required 113 to signal P2MP-TE LSPs that are both re-merge and crossover free 114 [RFC4875]. 116 For the purposes of this document, a domain is considered to be any 117 collection of network elements within a common sphere of address 118 management or path computational responsibility. Examples of such 119 domains include Interior Gateway Protocol (IGP) areas and Autonomous 120 Systems (ASes). A border node is a node between different routing 121 domains. 123 The re-merge free requirement becomes more acute to address when P2MP 124 LSP spans multiple domains. This is because in an inter-domain 125 environment, the ingress node may not have topological visibility 126 into other domains to be able to compute and signal a re-merge free 127 P2MP LSP. In that case, the border node for a new domain will be 128 given loose next hops for one or more destinations in a P2MP LSP. A 129 border node computes paths in its domain by individually expanding 130 the loose next hops for the destinations when signaled to it. A 131 border node can ensure that it computes the re-merge free paths while 132 performing loose hop ERO expansions by individually grafting 133 destinations. Note that the computed P2MP tree by a border node in 134 this case may not be optimal. When processing a Path message, the 135 border node may not have knowledge of all the destinations of the 136 P2MP LSP; for example, in the case when not all S2L sub-LSPs pass 137 through this border node. In that case, existing protocol mechanisms 138 do not provide sufficient information for it to be able to expand the 139 loose hop(s) such that the overall P2MP LSP tree is guaranteed to be 140 re-merge free. 142 [RFC4875] specifies two approaches to handle re-merge conditions. The 143 first method is based on control plane handling the re-merge. In this 144 case the node detecting the re-merge condition, i.e. the re-merge 145 node initiates the removal of the re-merge sub-LSP(s) by sending a 146 PathErr message(s) towards the ingress node. However, this can lead 147 to a deadlock in setting up the P2MP LSP in certain cases; for 148 example, when the first S2L setup causes the re-merge with all 149 subsequent S2Ls in the tree. The second method is based on the data 150 plane handling the re-merge condition. In this case, the re-merge 151 node allows the re-merge condition to persist, but data from all but 152 one incoming interface is dropped at the re-merge node. This ensures 153 that duplicate data is not sent on any outgoing interface. However, 154 network resources (such as bandwidth capacity) are wasted as long as 155 re-merge condition persists which is inefficient. 157 [RFC4736] defines procedures and signaling extensions for 158 reoptimizing an inter-domain P2P LSP. Specifically, an ingress node 159 sends a "path re-evaluation request" to a border node by setting a 160 flag (0x20) in SESSION_ATTRIBUTES object in a Path message. A border 161 node sends a PathErr code 25 (notify error defined in [RFC3209]) with 162 sub-code 6 to indicate "preferable path exists" to the ingress node. 163 The ingress node upon receiving this PathErr may initiate 164 reoptimization of the LSP. [RFC4736] however does not define a 165 procedure to reoptimize the entire P2MP LSP as a whole tree. 167 As per [RFC4875] Section 14, for a P2MP LSP, an ingress node may 168 reoptimize the entire P2MP LSP by resignaling all destinations 169 (Section 14.1, "Make-before-Break") or may reoptimize individual the 170 destinations (Section 14.2 "Sub-Group-Based Re-Optimization"). 171 Generally speaking make-before-break is considered available for 172 "whole" P2MP LSP reoptimization, but it can also be used for 173 reoptimizing physical routes for specific sub-LSP(s). The 174 Sub-Group-Based reoptimization is not always applicable because it 175 can lead to data duplication inside the backbone. 177 1.1. Summary of Solutions 179 This document defines RSVP-TE signaling procedures for P2MP LSP to 180 handle the re-merge condition when using either the control plane or 181 data plane approach. The procedures are applicable to both MPLS TE 182 and GMPLS networks. 184 The control plane solution for the re-merge problem makes use of the 185 crankback signaling mechanism of the RSVP protocol. [RFC5151] 186 describes such mechanisms for applying crankback to inter-domain P2P 187 LSPs, but does not cover P2MP LSPs. Also, crankback mechanisms for 188 P2MP LSPs are not addressed by [RFC4875]. This document describes how 189 crankback signaling extensions for MPLS and GMPLS RSVP-TE defined in 190 [RFC4920] can be used for setting up P2MP TE LSPs to resolve 191 re-merges. 193 The data plane solution for the re-merge problem described in 194 [RFC4875] is extended by using a new flag in the LSP_ATTRIBUTES TLV 195 (in a Path message) and a new flag in RRO Attributes Sub-object (in a 196 Resv message) in RSVP. The LSP_ATTRIBUTES TLV (in a Path message) and 197 RRO Attributes Sub-object (in a Resv message) have been defined in 198 [RFC5420]. This document describes how these new flags can be used to 199 handle P2MP re-merge conditions efficiently. 201 For P2MP LSP, a border node may have loosely routed entire or part of 202 the P2MP LSP by expanding EROs in Path messages of the destinations. 203 Border node does not know with the signaling procedure defined in 204 [RFC4736] if an ingress node is requesting a reoptimization for an 205 individual destination(s) or reoptimization of the entire P2MP tree. 206 Signaling extension and procedure are defined in this document to 207 handle reoptimization of an individual destination(s) and the 208 reoptimization of the entire P2MP tree. Basically, a new query 209 message is defined in LSP_ATTRIBUTES TLV to request for a "P2MP-TE 210 Tree Re-evaluation" and a new sub-code is defined for PathErr message 211 to indicate "Preferable P2MP-TE Tree Exists". 213 1.2. Path Computation Techniques 215 This document focuses on the case where the ingress node does not 216 have full visibility of the topology of all domains and is therefore 217 not able to compute the complete P2MP tree. Rather, it includes loose 218 hops to traverse the domains for which it does not have full 219 visibility and ingress border nodes(s) of each transit domain is 220 responsible for expanding those loose hops. 222 The solution presented in this document do not guarantee optimization 223 of the overall P2MP tree across all domains. Path Computation Element 224 (PCE) can be used, instead, to address global optimization of the 225 overall P2MP tree. 227 1.3. Use cases 229 Service providers having a network with multiple routing domains are 230 interested to use the network for P2MP-TE LSPs. This allows the 231 service providers to use the network to carry multicast and broadcast 232 traffic (such as video). Service providers can deploy the VPLS and 233 MVPN services in the network using inter-domain P2MP TE LSPs. The use 234 case is for P2MP TE LSPs across multiple routing domains that belong 235 to a single administrative area. Use case for the Multiple 236 administrative domains (e.g. autonomous systems) is outside the scope 237 of this document. 239 2. Conventions used in this document 241 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 242 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 243 document are to be interpreted as described in [RFC2119]. 245 3. Control Plane Solution For Re-merge Handling 247 It is RECOMMENDED that boundary re-routing is requested for P2MP LSPs 248 traversing multiple domains. This is because border nodes that are 249 expanding loose hops are typically best placed to correct any re- 250 merge errors that occur within their domain, not the ingress node. 252 3.1. Single Border Node For All S2Ls 254 It is RECOMMENDED that the ingress node of a P2MP LSP selects the 255 same ingress border node in the loose hop ERO for all sibling S2L 256 sub-LSPs that transit through a given domain. The reason is that it 257 will increase the possibility of re-merge downstream if two or more 258 border nodes have roles simultaneously to expand loose EROs. An 259 ingress border node that performs the loose ERO expansion for 260 individual sub-LSP(s) has the necessary state information for the 261 destinations transiting through its domain to ensure computed P2MP 262 tree is re-merge free. 264 3.2. Crankback and PathErr Signaling Procedure 266 As mentioned in [RFC4875], in order to avoid duplicate traffic, the 267 re-merge node MAY initiate the removal of the re-merge S2L sub-LSPs 268 by sending a PathErr message to the ingress node of the S2L sub-LSP. 270 Crankback procedures for rerouting around failures for P2P RSVP-TE 271 LSPs are defined in [RFC4920]. These techniques can also be applied 272 to P2MP LSPs to handle re-merge conditions, as described in this 273 section. 275 If an ingress border node on the path of the P2MP LSP is unable to 276 find a route that can supply the required resources or that is re- 277 merge free, it MUST generate a PathErr message for the subset of the 278 S2L sub-LSPs which it is not able to route. For this purpose the 279 ingress border node SHOULD try to find a minimum subset of S2L sub- 280 LSPs for which the PathErr needs to be generated towards the ingress 281 node. These are the S2L sub-LSPs on an incoming interface that has 282 less number of S2L sub-LSPs compared to the second incoming interface 283 that is causing the re-merge condition. 285 The RSVP-TE Notify messages do not include S2L_SUB_LSP objects and 286 cannot be used to send errors for a subset of the S2L sub-LSPs in a 287 Path message. For that reason, the error generating node SHOULD use a 288 PathErr message rather than a Notify message to communicate the 289 error. In the case of a re-merge error, the node SHOULD use the error 290 code "Routing Problem" and the error value "ERO resulted in re-merge" 291 as specified in [RFC4875]. 293 A border node receiving a PathErr message for a set of S2L sub-LSPs 294 MAY hold the message and attempt to signal an alternate path that can 295 avoid re-merge through its domain for those S2L sub-LSPs that pass 296 through it. However, in the case of a re-merge error for which some 297 of the re-merging S2L sub-LSPs do not pass through the border node, 298 it SHOULD propagate the PathErr upstream towards the ingress node. If 299 the subsequent attempt by the border node is successful, the border 300 node discards the held PathErr and follows the crankback roles of 301 [RFC4920] and [RFC5151]. If repeated subsequent attempts by the 302 border node are unsuccessful, the border node MUST send the held 303 PathErr upstream towards the ingress node. 305 If the ingress node receives a PathErr message with error code 306 "Routing Problem" and error value "ERO resulted in re-merge", then it 307 SHOULD attempt to signal an alternate path through a different domain 308 or through a different border node for the affected S2L sub-LSPs. The 309 ingress node MAY use the error node information from the PathErr for 310 this purpose. 312 However, it may be that the ingress node or an ingress border node 313 does not have sufficient topology information to compute an Explicit 314 Route that is guaranteed to avoid the re-merge link or node. In this 315 case, Route Exclusions [RFC4874] may be particularly helpful. To 316 achieve this, [RFC4874] allows the re-merge information to be 317 presented as route exclusions to force avoidance of the re-merge link 318 or node. 320 As discussed in [RFC4920] section 3.3, border node MAY keep the 321 history of PathErrs. In case of P2MP LSPs, ingress node and border 322 nodes may keep re-merge PathErrs in history table until S2L sub-LSPs 323 have been successfully established or until local timer expires. 325 4. Data Plane Solution For Re-merge Handling 327 As mentioned in [RFC4875], a node may accept the re-merging S2Ls but 328 only send the data from one of these interfaces to its outgoing 329 interfaces. That is, the node MUST drop data from all but one 330 incoming interface causing the re-merge. This ensures that duplicate 331 data is not sent on any outgoing interface. Note that data plane may 332 be either programmed to drop the incoming traffic for the S2L sub-LSP 333 or not programmed at all. 335 It is desirable to avoid the persistent re-merge condition associated 336 with data plane based solution in the network in order to optimize 337 bandwidth resources in the network. 339 The following sections define the RSVP-TE signaling extensions for 340 "P2MP- TE Re-merge Recording Request" and "P2MP-TE Re-merge Present" 341 messages. 343 4.1. P2MP-TE Re-merge Recording Request Flag 345 In order to indicate to traversed nodes that P2MP-TE re-merge 346 recording is desired, a new flag in the Attribute Flags TLV of the 347 LSP_ATTRIBUTES object defined in [RFC5420] is defined as follows: 349 Bit Number (to be assigned by IANA): P2MP-TE Re-merge Recording 350 Request flag 352 The "P2MP-TE Re-merge Recording Request" flag is meaningful in a Path 353 message and is inserted by the ingress node or a border node in the 354 LSP_ATTRIBUTES object. 356 If the "P2MP-TE Re-merge Recording Request" Flag is set, it implies 357 that the "P2MP-TE Re-merge Present" flag defined in the next section 358 MUST be used to indicate to the ingress and ingress border nodes of 359 the transit domains that a re-merge condition is present for this S2L 360 sub-LSP but accepted, and that incoming traffic is being dropped for 361 this S2L sub-LSP. 363 The rules of the processing of the Attribute Flags TLV of the 364 LSP_ATTRIBUTES object follow [RFC5420]. 366 4.2. P2MP-TE Re-merge Present Flag 368 The "P2MP-TE Re-merge Present" Flag is the counter part of the 369 "P2MP-TE Re-merge Recording Request" flag defined above. 370 Specifically, RSVP signaling extension is defined to indicate to the 371 upstream node of the re-merge condition and that incoming traffic is 372 being dropped for the given S2L. 374 When a node accepts a re-merge condition by dropping traffic from an 375 incoming interface for an S2L due to the re-merge condition, and if 376 it understands the "P2MP-TE Re-merge Recording Request" in the 377 Attribute Flags TLV of the LSP_ATTRIBUTES object of the Path message, 378 the node MUST set the newly defined "P2MP-TE Re-merge Present" flag 379 in the RRO Attributes sub-object defined in [RFC5420] in RRO. 381 The following new flag for RRO Attributes Sub-object is defined as 382 follows: 384 Bit Number (same as bit number assigned for "P2MP-TE Re-merge 385 Recording Request" flag): P2MP-TE Re-merge Present flag 387 The "P2MP-TE Re-merge Present" flag indicates that the S2L is causing 388 a re-merge. The re-merge has been accepted but the incoming traffic 389 on this S2L is dropped by the reporting node. 391 The rules of the processing of the RRO Attribute Sub-object in the 392 Resv message follow [RFC5420]. 394 4.3. Signaling Procedure 396 When a node that does not support data plane based re-merge handling 397 receives an S2L sub-LSP Path message with LSP Attributes sub-object 398 that has "P2MP-TE Re-merge Recording Request" Flag set, and if the 399 S2L is causing a re-merge condition, the node MUST reject the S2L 400 sub-LSP Path message and send the PathErr with the error code 401 "Routing Problem" and the error value "ERO resulted in re-merge" as 402 specified in [RFC4875]. If a node is capable of data plane based re- 403 merge handling but operator may have disabled it via a configuration, 404 the the node MUST also reject the re-merge and send this PathErr. 406 When a Path message is received at a transit node for an S2L sub-LSP 407 and "P2MP-TE Re-merge Recording Request" Flag is set in the LSP 408 Attributes sub-object, the node MAY decide to accept the re-merge S2L 409 sub-LSP based on the local policy and node capability. In this case, 410 before the Resv message is sent to the upstream node for this S2L 411 sub-LSP, the node MUST add the RRO Attributes sub-object in the Resv 412 RRO if not already present and set the "P2MP-TE Re-merge Present" 413 Flag if traffic from the incoming interface of this S2L sub-LSP will 414 be dropped. This same incoming interface can still be used for a 415 different S2L sub-LSP in the P2MP LSP to forward traffic and "P2MP-TE 416 Re-merge Present" flag will not be set for that S2L sub-LSP. Note 417 that rules for adding or modifying the other RRO sub-objects do not 418 change due to this flag. 420 When a transit node receives a Resv message for an S2L that is 421 causing a re-merge condition, the node MUST set the "P2MP-TE Re-merge 422 Present" flag in the RRO Attributes sub-object in the Resv message if 423 it decides to drop the incoming traffic of this S2L. The "P2MP-TE Re- 424 merge Present" flag in RRO Attribute sub-object is not set for the 425 S2L(s) whose incoming interface is selected to receive and forward 426 the traffic. 428 An ingress node MAY immediately start sending traffic on all S2Ls in 429 up state even when re-merge conditions are present on some S2Ls of 430 the P2MP LSP. 432 The proposed signaling extensions allow an ingress node and an 433 ingress border node to have a complete view of the re-merge 434 conditions on the entire S2L path and on all S2Ls of the P2MP tree. 435 The ingress or ingress border node in this case can take appropriate 436 actions to resolve the re-merge conditions and optimize network 437 bandwidth resources usage. This can be achieved by computing and 438 selecting alternate path(s) for the S2L(s) bypassing the re-merge 439 node(s). 441 The proposed signaling extensions are equally applicable to single 442 domain scenarios. 444 A node where re-merge is present, may decide to select a different 445 incoming interface to forward traffic from in the future. In that 446 case, a Resv change message with updated "P2MP-TE Re-merge Present" 447 flag in the RRO is sent upstream for all effected S2Ls. For the new 448 set of S2L sub-LSPs whose traffic from the incoming interface is 449 dropped, "P2MP-TE Re-merge Present" flag will bet set. 451 A border node due to local policy MAY remove the record route object 452 from the Resv message of the S2L sub-LSP and propagate Resv message 453 towards the ingress node. When such a policy is provisioned, the 454 border node may attempt to correct the re-merge condition in its 455 domain. If the border node is not able to resolve the re-merge 456 condition, the border node SHOULD send the PathErr with the error 457 code "Routing Problem" and the error value "ERO resulted in re-merge" 458 as specified in [RFC4875]. 460 5. Intra-domain P2MP-TE LSP Re-merge Handling 462 Re-merges between S2Ls in a single domain can occur due to 463 provisioning errors or path computation errors in the environment 464 where IGP-TE or PCE is used. Re-merges can also happen in the 465 environment where static routing or static path selection policy is 466 applied at ingress (e.g., CSPF calculation is disabled due to some 467 operational reasons), regardless of using loose or static hops. In 468 either case, procedures described in this document are equally 469 applicable to the intra-domain (i.e. single domain) P2MP-TE LSPs. 471 6. Reoptimization Handling 473 6.1. P2MP-TE Tree Re-evaluation Request Flag 475 In order to query border nodes to check if a preferable P2MP tree 476 exists, a new flag is defined in Attributes Flags TLV of the 477 LSP_ATTRIBUTES object [RFC5420] as follows: 479 Bit Number (to be assigned by IANA): P2MP-TE Tree Re-evaluation 480 Request flag 482 The "P2MP-TE Tree Re-evaluation Request" flag is meaningful in a Path 483 message of an S2L sub-LSP and is inserted by the ingress node. 485 6.2. Preferable P2MP-TE Tree Exists Flag 487 In order to indicate to an ingress node that a preferable P2MP-TE 488 tree is available, following new sub-code for PathErr code 25 (notify 489 error) is defined: 491 Sub-code (to be assigned by IANA): Preferable P2MP-TE Tree Exists 492 flag 494 When a preferable P2MP-TE tree is found, the border node MUST send 495 "Preferable P2MP-TE Tree Exists" to the ingress node in order to 496 reoptimize the entire P2MP LSP. 498 6.3. Signaling Procedure 500 Using signaling procedure defined in [RFC4736], an ingress node MUST 501 initiate "path re-evaluation request" query to reoptimize a 502 destination in a P2MP LSP. Note that this message MUST be used to 503 reoptimize a single or a sub-set of the destinations in a P2MP LSP. 504 Ingress node MUST send this query in a Path message for each 505 destination it is reoptimizing. 507 When a Path message for a destination in a P2MP LSP with "path 508 re-evaluation request" flag [RFC4736] is received at the border node, 509 it MUST re-compute the loose-hop ERO to see if a preferable path 510 exists for that destination. A border node MUST send PathErr code 25 511 (notify error defined in [RFC3209]) with "preferable path exists" 512 sub-code to indicate that a preferable path exists for the requested 513 destination AND border node is capable of per destination 514 reoptimization. A border node MUST terminate the path query. 515 Alternatively, a border node not capable of per destination 516 reoptimization MAY respond with "Preferable P2MP-TE Tree Exists" 517 PathErr by checking for a preferable P2MP tree instead of a 518 preferable single destination. 520 It is often desired to reoptimize the entire P2MP LSP. In order to 521 query border nodes to check if a preferable P2MP tree exists, an 522 ingress node MUST send a Path message with "P2MP-TE Tree 523 Re-evaluation Request" defined in this document. An ingress node MAY 524 send this message for all destinations in a P2MP LSP or a sub-set of 525 the destinations. 527 A border node receiving the "P2MP-TE Tree Re-evaluation Request" MUST 528 check for a preferable P2MP LSP for the destinations it is loosely 529 routing by loose-hop ERO expansions. The border node if a preferable 530 P2MP-TE tree is found, MUST reply with "Preferable P2MP-TE Tree 531 Exists" sub-code defined in this document with PathErr 25 (notify 532 error defined in [RFC3209] and terminate the path query. 534 Note that a border node MAY send "Preferable P2MP-TE Tree Exists" 535 with PathErr code 25 to indicate the ingress node in order to 536 reoptimize the entire P2MP LSP message unsolicited or in a response 537 to "path re-evaluation query" for a destination or in a response to 538 "P2MP-TE Tree Re-evaluation Request" message. 540 If an ingress node initiated a "path re-evaluation request" query for 541 a single destination for per S2L sub-LSP reoptimization and receives 542 "Preferable P2MP-TE Tree Exists" PathErr, the ingress node MAY cancel 543 the per S2L reoptimization and initiate P2MP-TE tree reoptimization. 544 This may happen in case when a border node is not capable of per 545 destination reoptimization. 547 Note that even if per destination reoptimization, not whole P2MP LSP 548 Tree reoptimization, is sufficient, ingress node often needs to re- 549 signal whole P2MP LSP tree to complete route optimization for that 550 destination. In this case, make-before-break reoptimization scheme is 551 used (see [RFC4875] Section 14.1), and all S2L sub-LSPs are re- 552 signaled with a different LSP-ID. That is, the procedure of signaling 553 a re-optimization by an ingress node is separate from the matter if 554 PathErr reply was "Preferable Path Exists" or "Preferable P2MP-TE 555 Tree Exists". 557 7. Compatibility 559 The LSP_ATTRIBUTES TLV and RRO Attributes sub-object have been 560 defined [RFC5420] with class numbers in the form 11bbbbbb, which 561 ensures compatibility with non- supporting nodes. Per [RFC2205], 562 nodes not supporting this extension will ignore the TLV, sub-object 563 and the new flags defined in this document but forward it, unexamined 564 and unmodified, in all messages resulting from this message. 566 8. Security Considerations 568 This document does not introduce any additional security issues above 569 those identified in [RFC3209], [RFC4875], [RFC5151], [RFC4920] and 570 [RFC5920]. 572 9. IANA Considerations 574 The following new flag is defined for the Attributes Flags TLV in the 575 LSP_ATTRIBUTES object [RFC5420]. The numeric values are to be 576 assigned by IANA. 578 o P2MP-TE Re-merge Recording Request Flag: 580 - Bit Number: To be assigned by IANA. 582 - Attribute flag carried in Path message: Yes 584 - Attribute flag carried in Resv message: No 586 The following new flag is defined for the RRO Attributes sub-object 587 in the RECORD_ROUTE object [RFC5420]. The numeric values are to be 588 assigned by IANA. 590 o P2MP-TE Re-merge Present Flag: 592 - Bit Number: To be assigned by IANA. 594 - Attribute flag carried in Path message: No 596 - Attribute flag carried in RRO Attributes sub-object in RRO of 597 the Resv message: Yes 599 The following new flag is defined for the Attributes Flags TLV in the 600 LSP_ATTRIBUTES object [RFC5420]. The numeric values are to be 601 assigned by IANA. 603 o P2MP-TE Tree Re-evaluation Request Flag: 605 - Bit Number: To be assigned by IANA. 607 - Attribute flag carried in Path message: Yes 609 - Attribute flag carried in Resv message: No 611 As defined in [RFC3209], the Error Code 25 in the ERROR SPEC object 612 corresponds to a Notify Error PathErr. This document adds a new sub- 613 code as follows for this PathErr: 615 o Preferable P2MP-TE Tree Exists sub-code: 617 - Sub-code for Notify PathErr code 25. To be assigned by 618 IANA. 620 10. Acknowledgments 622 The authors would like to thank N. Neate for his contributions on the 623 draft. 625 11. References 627 11.1. Normative References 629 [RFC4875] Aggarwal, R., Papadimitriou, D., and S. Yasukawa, 630 "Extensions to Resource Reservation Protocol Traffic 631 Engineering (RSVP-TE) for Point-to-Multipoint TE Label 632 Switched Paths (LSPs)", RFC 4875, May 2007. 634 [RFC5151] Farrel, A., Ayyangar, A., and JP. Vasseur, "Inter-Domain 635 MPLS and GMPLS Traffic Engineering -- Resource Reservation 636 Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 637 5151, February 2008. 639 [RFC4920] Farrel, A., Satyanarayana, A., Iwata, A., Fujita, N., and 640 G. Ash, "Crankback Signaling Extensions for MPLS and GMPLS 641 RSVP-TE", RFC 4920, July 2007. 643 [RFC5920] L. Fang, Ed., "Security Framework for MPLS and GMPLS 644 Networks", RFC 5920, July 2010. 646 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 647 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 648 Tunnels", RFC 3209, December 2001. 650 [RFC4736] Vasseur, JP., Ikejiri, Y. and Zhang, R, "Reoptimization of 651 Multiprotocol Label Switching (MPLS) Traffic Engineering 652 (TE) Loosely Routed Label Switched Path (LSP)", RFC 4736, 653 November 2006. 655 [RFC5420] Farrel, A., Papadimitriou, D., Vasseur, JP., and A. 656 Ayyangarps, "Encoding of Attributes for MPLS LSP 657 Establishment Using Resource Reservation Protocol Traffic 658 Engineering (RSVP-TE)", RFC 5420, February 2009. 660 11.2. Informative References 662 [RFC4726] Farrel, A., Vasseur, J., and A. Ayyangar, "A Framework for 663 Inter-Domain Multiprotocol Label Switching Traffic 664 Engineering", RFC 4726, November 2006. 666 Author's Addresses 668 Zafar Ali 669 Cisco Systems 671 Email: zali@cisco.com 673 Rakesh Gandhi 674 Cisco Systems 676 Email: rgandhi@cisco.com 678 Tarek Saad 679 Cisco Systems 681 Email: tsaad@cisco.com 683 Robert H. Venator 684 Defense Information Systems Agency 686 Email: robert.h.venator.civ@mail.mil 688 Yuji Kamite 689 NTT Communications Corporation 691 Email: y.kamite@ntt.com