idnits 2.17.1 draft-ietf-mpls-rsvp-te-p2mp-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1975. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1982. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1988. ** The document seems to lack an RFC 3978 Section 5.1 IPR Disclosure Acknowledgement -- however, there's a paragraph with a matching beginning. Boilerplate error? ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** The document seems to lack an RFC 3978 Section 5.4 Reference to BCP 78 -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack an RFC 3978 Section 5.5 (updated by RFC 4748) Disclaimer -- however, there's a paragraph with a matching beginning. Boilerplate error? Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard == It seems as if not all pages are separated by form feeds - found 0 form feeds but 45 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 11 instances of too long lines in the document, the longest one being 8 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == Line 686 has weird spacing: '...RRO and possi...' == Line 764 has weird spacing: '... leave a P2M...' == Line 1229 has weird spacing: '...ed Path messa...' == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: As described above one case in which the Sub-Group Originator ID of a received Path message is changed is that of transit fragmentation. The Sub-Group Originator ID of a received Path message may also be changed in the outgoing Path message and set to that of the LSR originating the Path message based on a local policy. For instance a LSR may decide to always change the Sub-Group Originator ID while performing ERO expansion. The Sub-Group ID MUST not be changed if the Sub-Group Originator ID is not being changed. == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: The MP MUST not use the while identifying the corresponding P2P sub-LSPs. -- 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.) -- Couldn't find a document date in the document -- date freshness check skipped. 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: 'KEYWORDS' is mentioned on line 50, but not defined == Missing Reference: 'TBD' is mentioned on line 1051, but not defined == Missing Reference: 'RSVP-FR' is mentioned on line 1167, but not defined == Missing Reference: 'LSP-ATTRIB' is mentioned on line 1670, but not defined == Unused Reference: 'LSP-ATTR' is defined on line 1770, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 1780, but no explicit reference was found in the text == Unused Reference: 'RFC3471' is defined on line 1787, but no explicit reference was found in the text == Unused Reference: 'RSVP-FRR' is defined on line 1800, but no explicit reference was found in the text == Unused Reference: 'BFD-MPLS' is defined on line 1812, but no explicit reference was found in the text == Unused Reference: 'IPR-1' is defined on line 1815, but no explicit reference was found in the text == Unused Reference: 'IPR-2' is defined on line 1818, but no explicit reference was found in the text == Unused Reference: 'RFC2209' is defined on line 1828, but no explicit reference was found in the text == Outdated reference: A later version (-05) exists of draft-ietf-mpls-rsvpte-attributes-03 == Outdated reference: A later version (-02) exists of draft-katz-ward-bfd-01 -- Obsolete informational reference (is this intentional?): RFC 3667 (ref. 'IPR-1') (Obsoleted by RFC 3978) -- Obsolete informational reference (is this intentional?): RFC 3668 (ref. 'IPR-2') (Obsoleted by RFC 3979) Summary: 7 errors (**), 0 flaws (~~), 22 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group R. Aggarwal (Juniper) 2 Internet Draft D. Papadimitriou (Alcatel) 3 Expiration Date: June 2005 S. Yasukawa (NTT) 4 Editors 6 Extensions to RSVP-TE for Point to Multipoint TE LSPs 8 draft-ietf-mpls-rsvp-te-p2mp-00.txt 10 Status of this Memo 12 By submitting this Internet-Draft, we certify that any applicable 13 patent or IPR claims of which we are aware have been disclosed, and 14 any of which we become aware will be disclosed, in accordance with 15 RFC 3668. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet-Drafts as reference 25 material or to cite them other than as ``work in progress.'' 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt 30 The list of Internet-Draft Shadow Directories can be accessed at 31 http://www.ietf.org/shadow.html. 33 Abstract 35 This document describes extensions to Resource Reservation Protocol - 36 Traffic Engineering (RSVP-TE) for the setup of point-to-multipoint 37 (P2MP) Label Switched Paths (LSPs) in Multi-Protocol Label Switching 38 (MPLS) and Generalized MPLS (GMPLS) networks. The solution relies on 39 RSVP-TE without requiring a multicast routing protocol in the Service 40 Provider core. Protocol elements and procedures for this solution are 41 described. There can be various applications for P2MP TE LSPs such as 42 IP multicast. Specification of how such applications will use a P2MP 43 TE LSP is outside the scope of this document. 45 Conventions used in this document 47 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 48 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 49 document are to be interpreted as described in RFC-2119 [KEYWORDS]. 51 Authors' Note 53 Some of the text in the document needs further discussion between 54 authors and feedback from MPLS WG. This has been pointed out when 55 applicable. A change log and reviewed/updated text will be made 56 available online. 58 Table of Contents 60 1 Introduction............................................ 3 61 2 Terminology............................................. 3 62 3 Mechanisms.............................................. 4 63 3.1 P2MP Tunnels............................................ 4 64 3.2 P2MP LSP Tunnels........................................ 5 65 3.3 P2P Sub-LSPs............................................ 5 66 3.3.1 Representation of a P2P sub-LSP......................... 5 67 3.3.2 P2P Sub-LSPs and Path Messages.......................... 5 68 3.4 Explicit Route Encoding................................. 6 69 4 Sub-Groups.............................................. 8 70 5 Path Message Format..................................... 9 71 6 Path Message Processing................................. 10 72 6.1 Multiple Path Messages.................................. 10 73 6.1.1. Identifying Multiple Path Messages...................... 11 74 6.2 Multiple P2P Sub-LSPs in One Path Message............... 12 75 7 RESV Message Format..................................... 13 76 8 RESV Message Processing................................. 14 77 8.1 RRO Processing.......................................... 15 78 8.2 Resv Message Throttling................................. 15 79 9 Transit Fragmentation................................... 16 80 10 Grafting................................................ 16 81 11 Pruning................................................. 17 82 11.1 P2MP TE LSP Teardown.................................... 18 83 11.2 Path Tear Message Format................................ 19 84 12 Refresh Reduction....................................... 19 85 13 State Management........................................ 19 86 13.1 Incremental State Update................................ 19 87 13.2 Combing Multiple Path Messages.......................... 20 88 14 Error Processing........................................ 21 89 14.1 Branch Failure Handling................................. 21 90 15 Notify and ResvConf Messages............................ 22 91 16 Control of Branch Fate Sharing.......................... 23 92 17 Admin Status Change..................................... 23 93 18 Label Allocation on LANs with Multiple Downstream Nodes. 24 94 19 Make-Before-Break....................................... 24 95 19.1 P2MP Tree re-optimization............................... 24 96 19.2 Re-optimization of a subset of P2P sub-LSPs ............ 24 97 20 Fast Reroute............................................ 25 98 20.1 Facility Backpup........................................ 25 99 20.2 One to One Backup....................................... 25 100 21 Support for LSRs that are not P2MP Capable.............. 26 101 22 Reduction in Control Plane Processing with LSP Hierarchy 28 102 23 P2MP LSP Tunnel Remerging and Cross-Over................ 28 103 23.1 PathErr Message Format.................................. 30 104 24 New and Updated Message Objects......................... 31 105 24.1 P2MP SESSION Object..................................... 31 106 24.2 P2MP LSP Tunnel SENDER_TEMPLATE Object.................. 32 107 24.2.1 P2MP LSP Tunnel IPv4 SENDER_TEMPLATE Object............. 33 108 24.2.2 P2MP LSP Tunnel IPv6 SENDER_TEMPLATE Object............. 33 109 24.3 P2P SUB-LSP Object...................................... 34 110 24.3.1 P2P IPv4 SUB-LSP Object................................. 34 111 24.3.2 P2P IPv6 SUB-LSP Object................................. 35 112 24.4 FILTER_SPEC Object...................................... 35 113 24.5 SUB EXPLICIT ROUTE Object (SERO)........................ 36 114 24.6 SUB RECORD ROUTE Object (SRRO).......................... 36 115 25 IANA Considerations..................................... 37 116 26 Security Considerations................................. 37 117 27 Acknowledgements........................................ 37 118 28 Appendix................................................ 37 119 28.1 Example................................................. 37 120 29 References.................................... 121 .......... 39 122 30 Authors................................................. 40 123 31 Intellectual Property................................... 43 124 32 Full Copyright Statement................................ 43 125 33 Acknowledgement......................................... 44 127 1. Introduction 129 [RFC3209] defines a mechanism for setting up P2P TE LSPs in MPLS 130 networks. [RFC3473] defines extensions to [RFC3209] for setting up 131 P2P TE LSPs in GMPLS networks. However these specifications do not 132 provide a mechanism for building P2MP TE LSPs. 134 This document defines extensions to RSVP-TE [RFC3209] and [RFC3473] 135 protocol to support P2MP TE LSPs satisfying the set of requirements 136 described in [P2MP-REQ]. 138 This document relies on the semantics of RSVP that RSVP-TE inherits 139 for building P2MP LSP Tunnels. A P2MP LSP Tunnel is comprised of 140 multiple P2P sub-LSPs. These P2P sub-LSPs are set up between the 141 ingress and egress LSRs and are appropriately combined by the branch 142 LSRs using RSVP semantics to result in a P2MP TE LSP. One Path 143 message may signal one or multiple P2P sub-LSPs. Hence the P2P sub- 144 LSPs belonging to a P2MP LSP Tunnel can be signaled using one Path 145 message or split across multiple Path messages. 147 Path computation and P2MP application specific aspects are outside of 148 the scope of this document. 150 2. Terminology 152 This document uses terminologies defined in [RFC3031], [RFC2205], 153 [RFC3209], [RFC3473] and [P2MP-REQ]. In addition the following terms 154 are used in this document. 156 P2P sub-LSP: A P2MP TE LSP is constituted of one or more P2P sub- 157 LSPs. A P2P sub-LSP refers to the portion of the label switched path 158 from the ingress LSR to a particular egress LSR. The egress LSR is 159 the destination of the P2P sub-LSP. 161 3. Mechanism 163 This document describes a solution that optimizes data replication by 164 allowing non-ingress nodes in the network to be replication/branch 165 nodes. A branch node is a LSR that is capable of replicating the 166 incoming data on two or more outgoing interfaces. The solution uses 167 RSVP-TE in the core of the network for setting up a P2MP TE LSP. 169 The P2MP TE LSP is set up by associating multiple P2P TE sub-LSPs and 170 relying on data replication at branch nodes. This is described 171 further in the following sub-sections by describing P2MP tunnels and 172 how they relate to P2P sub-LSPs. 174 3.1. P2MP Tunnels 176 The specific aspect related to P2MP TE LSP is the action required at 177 a branch node, where data replication occurs. For instance, in the 178 MPLS case, incoming labeled data is appropriately replicated to 179 several outgoing interfaces with different labels. 181 A P2MP TE tunnel comprises of one or more P2MP LSPs referred to as 182 P2MP LSP tunnels. A P2MP TE Tunnel is identified by a P2MP SESSION 183 object. This object contains the P2MP ID defined as a destination 184 identifier, a tunnel ID and an extended tunnel ID. 186 The fields of a P2MP SESSION object are identical to those of the 187 SESSION object defined in [RFC3209] except that the Tunnel Endpoint 188 Address field is replaced by the P2MP Identifier (P2MP ID) field. 190 This identifier encodes the P2MP ID and identifies the set of 191 destination(s) of the P2MP LSP Tunnel. 193 3.2. P2MP LSP Tunnel 195 A P2MP TE tunnel comprises of one or more P2MP LSPs referred to as 196 P2MP LSP Tunnels. A P2MP LSP Tunnel is identified by the combination 197 of the P2MP ID, Tunnel ID, and Extended Tunnel ID that are part of 198 the P2MP SESSION object, and the IPv4 or IPv6 tunnel sender address 199 and LSP ID fields of the P2MP SENDER_TEMPLATE object. The new P2MP 200 SENDER_TEMPLATE object is defined in section 24.2 202 3.3. P2P Sub-LSPs 204 A P2MP LSP Tunnel is constituted of one or more P2P sub-LSPs. 206 3.3.1. Representation of a P2P Sub-LSP 208 A P2P sub-LSP exists within the context of a P2MP LSP Tunnel. Thus it 209 is identified by the P2MP ID, Tunnel ID, and Extended Tunnel ID that 210 are part of the P2MP SESSION, the IPv4 or IPv6 tunnel sender address 211 and LSP ID fields of the P2MP SENDER_TEMPLATE object, and the P2P 212 sub-LSP destination address that is part of the P2P_SUB_LSP object. 213 The P2P_SUB_LSP object is defined in section 24.3. 215 Additionally, a sub-LSP ID contained in the P2P_SUB_LSP object may be 216 used depending on further discussions about the make-before-break 217 procedures described in section 19. 219 An EXPLICIT_ROUTE Object (ERO) or SUB_EXPLICIT_ROUTE Object (SERO) is 220 used to optionally specify the explicit route of a P2P sub-LSP. Each 221 ERO or a SERO that is signaled corresponds to a particular 222 P2P_SUB_LSP object. Details of explicit route encoding are specified 223 in section 3.4. 225 3.3.2. P2P Sub-LSPs and Path Messages 227 The mechanism in this document allows a P2MP LSP Tunnel to be 228 signaled using one or more Path messages. Each Path message may 229 signal one or more P2P sub-LSPs. Multiple Path messages are desirable 230 as one Path message may not be large enough to fit all the P2P sub- 231 LSPs; and they also allow separate manipulation of sub-trees of the 232 P2MP LSP Tunnel. The reason for allowing a single Path message, to 233 signal multiple P2P sub-LSPs, is to optimize the number of control 234 messages needed to setup a P2MP LSP Tunnel. 236 3.4. Explicit Route Encoding 238 When a Path message signals a single P2P sub-LSP (that is, the Path 239 message is only targeting a single leaf in the P2MP tree), the 240 EXPLICIT_ROUTE object encodes the path from the ingress LSR to the 241 egress LSR. The Path message also includes the P2P_SUB_LSP object for 242 the P2P sub-LSP being signaled. The < [], 243 > tuple represents the P2P sub-LSP. The absence of the 244 ERO should be interpreted as requiring hop-by-hop routing for the 245 sub-LSP based on the P2P sub-LSP destination address field of the 246 P2P_SUB_LSP object. 248 The absence of the ERO should be interpreted as requiring hop-by-hop 249 routing for the sub-LSP based on the P2P sub-LSP destination address 250 field of the P2P_SUB_LSP object. 252 When a Path message signals multiple P2P sub-LSPs the path of the 253 first P2P sub-LSP, from the ingress LSR to the egress LSR, is encoded 254 in the ERO. The first P2P sub-LSP is the one that corresponds to the 255 first P2P_SUB_LSP object in the Path message. The P2P sub-LSPs 256 corresponding to the P2P_SUB_LSP objects that follow are termed as 257 subsequent P2P sub-LSPs. The path of each subsequent P2P sub-LSP is 258 encoded in a SUB_EXPLICIT_ROUTE object (SERO). The format of the SERO 259 is the same as an ERO (as defined in [RFC3209]). Each subsequent P2P 260 sub-LSP is represented by tuples of the form [] 261 . There is a one to one correspondence between a 262 P2P_SUB_LSP object and a SERO. The absence of a SERO should be 263 interpreted as requiring hop-by-hop routing for that sub-LSP. Note 264 that the destination address is carried in the P2P sub-LSP object. 265 The encoding of the SERO and P2P sub-LSP object are described in 266 detail in section 24. 268 The motivation behind the use of the SERO object is to provide 269 explicit route compression when a Path message signals simultaneously 270 multiple P2P sub-LSPs. One approach to encode the explicit route of a 271 subsequent P2P sub-LSP is to in 272 clude the path from the ingress to the 273 egress of the P2P sub-LSP. However this implies potential repetition 274 of hops that can be learned from the ERO or explicit routes of other 275 P2P sub-LSPs. Explicit route compression using SEROs attempts to 276 minimize such repetition. A SERO for a particular P2P sub-LSP 277 includes only the path from a certain branch LSR to the egress LSR if 278 the path to that branch LSR can be derived from the ERO or other 279 SEROs. 281 Explicit route compression is illustrated using the following figure. 283 A 284 | 285 | 286 B 287 | 288 | 289 C----D----E 290 | | | 291 | | | 292 F G H-------I 293 | |\ | 294 | | \ | 295 J K L M 296 | | | | 297 | | | | 298 N O P Q--R 300 Figure 1. Explicit Route Compression 302 Figure 1. shows a P2MP LSP Tunnel with LSR A as the ingress LSR and 303 six egress LSRs: (F, N, O, P, Q and R). When all the six P2P sub-LSPs 304 are signaled in one Path message let us assume that the P2P sub-LSP 305 to LSR F is the first P2P sub-LSP and the rest are subsequent P2P 306 sub-LSPs. Following is one way for the ingress LSR A to encode the 307 P2P sub-LSP explicit routes using compression: 309 P2P sub-LSP-F: ERO = {B, E, D, C, F}, P2P_SUB_LSP Object-F 310 P2P sub-LSP-N: SERO = {D, G, J, N}, P2P_SUB_LSP Object-N 311 P2P sub-LSP-O: SERO = {E, H, K, O}, P2P_SUB_LSP Object-O 312 P2P sub-LSP-P: SERO = {H, L, P}, P2P_SUB_LSP Object-P, 313 P2P sub-LSP-Q: SERO = {H, I, M, Q}, P2P_SUB_LSP Object-Q, 314 P2P sub-LSP-R: SERO = {Q, R}, P2P_SUB_LSP Object-R, 316 After LSR E processes the incoming Path message from LSR B it sends a 317 Path message to LSR D with the P2P sub-LSP explicit routes encoded as 318 follows: 320 P2P sub-LSP-F: ERO = {D, C, F}, P2P_SUB_LSP Object-F 321 P2P sub-LSP-N: SERO = {D, G, J, N}, P2P_SUB_LSP Object-N 323 LSR E also sends a Path message to LSR H and following is one way to 324 encode the P2P sub-LSP explicit routes using compression: 326 P2P sub-LSP-O: ERO = {H, K, O}, P2P_SUB_LSP Object-O 327 P2P sub-LSP-P: SERO = {H, L, P}, P2P_SUB_LSP Object-P, 328 P2P sub-LSP-Q: SERO = {H, I, M, Q}, P2P_SUB_LSP Object-Q, 329 P2P sub-LSP-R: SERO = {Q, R}, P2P_SUB_LSP Object-R, 331 After LSR H processes the incoming Path message from E it sends a 332 Path message to LSR K, LSR L and LSR I. The encoding for the Path 333 message to LSR K is as follows: 335 P2P sub-LSP-O: ERO = {K, O}, P2P_SUB_LSP Object-O 337 The encoding of the Path message sent by LSR H to LSR L is as 338 follows: 340 P2P sub-LSP-P: ERO = {L, P}, P2P_SUB_LSP Object-P, 342 Following is one way for LSR H to encode the P2P sub-LSP explicit 343 routes in the Path message sent to LSR I: 345 P2P sub-LSP-Q: ERO = {I, M, Q}, P2P_SUB_LSP Object-Q, 346 P2P sub-LSP-R: SERO = {Q, R}, P2P_SUB_LSP Object-R, 348 The explicit route encodings in the Path messages sent by LSRs D and 349 Q are left as an exercise to the reader. 351 This compression mechanism reduces the Path message size. It also 352 reduces extra processing that can result if explicit routes are 353 encoded from ingress to egress for each P2P sub-LSP. No assumptions 354 are placed on the ordering of the subsequent P2P sub-LSPs and hence 355 on the ordering of the SEROs in the Path message. All LSRs need to 356 process the ERO corresponding to the first P2P sub-LSP. A LSR needs 357 to process a P2P sub-LSP descriptor for a subsequent P2P sub-LSP only 358 if the first hop in the corresponding SERO is a local address of that 359 LSR. The branch LSR that is the first hop of a SERO propagates the 360 corresponding P2P sub-LSP downstream. 362 4. Sub-Groups 364 As with all other RSVP controlled LSP Tunnels, P2MP LSP Tunnel state 365 is managed using RSVP messages. While use of RSVP messages is the 366 same, P2MP LSP Tunnel state differs from P2P LSP state in a number of 367 ways. The two most notable differences are that a P2MP LSP Tunnel is 368 targeted at multiple P2P Sub-LSPs and that, as a result of this, it 369 may not be possible to represent full state in a single IP datagram 370 and even more likely that it can't fit into a single IP packet. It 371 must also be possible to efficiently add and remove endpoints to and 372 from P2MP TE LSPs. An additional issue is that P2MP LSP Tunnels must 373 also handle the state "remerge" problem, see [P2MP-REQ]. 375 These differences in P2MP state are addressed through the addition of 376 a sub-group identifier (Sub-Group ID) and sub-group originator (Sub- 377 Group Originator ID) to the SENDER_TEMPLATE and FILTER_SPEC objects. 378 Taken together the Sub-Group ID and Sub-Group Originator ID are 379 referred to as the Sub-Group fields. 381 The Sub-Group fields, together with rest of the SENDER_TEMPLATE and 382 SESSION objects, are used to represent a portion of a P2MP LSP 383 Tunnel's state. The portion of P2MP LSP Tunnel state identified by 384 specific subgroup field values is referred to as a signaling sub- 385 tree. It is important to note that the term "signaling sub-tree" 386 refers only to signaling state and not data plane replication or 387 branching. For example, it is possible for a node to "branch" 388 signaling state for a P2MP LSP Tunnel, but to not branch the data 389 associated with the P2MP LSP Tunnel. Typical applications for 390 generation and use of multiple subgroups are adding an egress and 391 semantic fragmentation to ensure that a Path message remains within a 392 single IP packet. 394 5. Path Message Format 396 This section describes modifications made to the Path message format 397 as specified in [RFC3209] and [RFC3473]. The Path message is enhanced 398 to signal one or more P2P sub-LSPs. This is done by including the P2P 399 sub-LSP descriptor list in the Path message as shown below. 401 ::= [ ] 402 [ [ | ] ...] 403 [ ] 404 405 406 [ ] 407 408 [ ] 410 [ ... ] 411 [ ] 412 [ ] 413 [ ] 414 [ ... ] 415 416 [P2P sub-LSP descriptor list] 418 Following is the format of the P2P sub-LSP descriptor list. 420 ::= 421 [ ] 423 ::= [ ] 425 Each LSR MUST use the common objects in the Path message and the P2P 426 sub-LSP descriptors to process each P2P sub-LSP represented by the 427 P2P sub-LSP object and the SUB-/EXPLICIT_ROUTE object combination. 429 The first P2P_SUB_LSP object's explicit route is specified 430 by the 431 ERO. Explicit routes of subsequent P2P sub-LSPs are specified by the 432 corresponding SERO. A SERO corresponds to the following P2P_SUB_LSP 433 object. 435 The RRO in the sender descriptor contains the hops traversed by the 436 Path message and applies to all the P2P sub-LSPs signaled in the Path 437 message. 439 Path message processing is described in the next section. 441 6. Path Message Processing 443 The ingress-LSR initiates the set up of a P2P sub-LSP to each egress- 444 LSR that is the destination of the P2MP LSP Tunnel. Each P2P sub-LSP 445 is associated with the same P2MP LSP Tunnel using common P2MP SESSION 446 object and fields in the SENDER_TEMPLATE 447 object. Hence it can be combined with other P2P sub-LSPs to form a 448 P2MP LSP Tunnel. Another P2P sub-LSP belonging to the same instance 449 of this P2P sub-LSP (i.e. the same P2MP LSP Tunnel) can share 450 resources with this LSP. The session corresponding to the P2MP TE 451 tunnel is determined based on the P2MP SESSION object. Each P2P sub- 452 LSP is identified using the P2P_SUB_LSP object. Explicit routing for 453 the P2P sub-LSPs is achieved using the ERO and SEROs. 455 As mentioned earlier, it is possible to signal P2P sub-LSPs for a 456 given P2MP LSP Tunnel in one or more Path messages. And a given Path 457 message can contain one or more P2P sub-LSPs." 459 6.1. Multiple Path messages 461 As described in section 3, or 462 tuple is used to specify a P2P 463 sub-LSP. Multiple Path messages can be used to signal a P2MP LSP 464 Tunnel. Each Path message can signal one or more P2P sub-LSPs. If a 465 Path message contains only one P2P sub-LSP, each LSR along the P2P 466 sub-LSP follows [RFC3209] procedures for processing the Path message 467 besides the P2P SUB-LSP object processing described in this document. 469 Processing of Path messages containing more than one P2P sub-LSP is 470 described in Section 6.2. 472 An ingress LSR may use multiple Path messages for signaling a P2MP 473 LSP. This may be because a single Path message may not be large 474 enough to signal the P2MP LSP Tunnel. Or it may be while adding 475 leaves to the P2MP LSP Tunnel the new leaves are signaled in a new 476 Path message. Or an ingress LSR MAY choose to break the P2MP tree 477 into separate manageable P2MP trees. These trees share the same root 478 and may share the trunk and certain branches. The scope of this 479 management decomposition of P2MP trees is bounded by a single tree 480 and multiple trees with a single leaf each. Per [P2MP-REQ], a P2MP 481 LSP Tunnel must have consistent attributes across all portions of a 482 tree. This implies that each Path message that is used to signal a 483 P2MP LSP Tunnel is signaled using the same signaling attributes with 484 the exception of the P2P sub-LSP information. 486 The resulting sub-LSPs from the different Path messages belonging to 487 the same P2MP LSP Tunnel SHOULD share labels and resources where they 488 share hops to prevent multiple copies of the data being sent. 490 In certain cases a transit LSR may need to generate multiple Path 491 messages to signal state corresponding to a single received Path 492 message. For instance ERO expansion may result in an overflow of the 493 resultant Path message. There are two cases occurring in such 494 circumstances, either the message can be decomposed into multiple 495 Path messages such that each of the message carries a subset of the 496 incoming P2P sub-LSPs carried by the incoming message or the message 497 can not be decomposed such that each of the outgoing Path message 498 fits its maximum size value." 500 6.1.1. Identifying Multiple Path Messages 502 Multiple Path messages generated by a LSR that signal state for the 503 same P2MP LSP are signaled with the same SESSION object and have the 504 same in the SENDER_TEMPLATE object. In order 505 to disambiguate these Path messages a tuple is introduced (also referred to as the Sub-Group 507 field). Multiple Path messages generated by a LSR to signal state 508 for the same P2MP LSP have the same Sub-Group Originator ID and have 509 a different sub-Group ID. The Sub-Group Originator ID SHOULD be set 510 to the Router ID of the LSR that originates the Path message. This is 511 either the ingress LSR or a LSR which re-originates the Path message 512 with its own Sub-Group Originator ID. Cases when a transit LSR may 513 change the Sub-Group Originator ID of an incoming Path message are 514 described below. The tuple is 515 globally unique. The sub-Group ID space is specific to the Sub-Group 516 Originator ID. Therefore the combination is network-wide unique. Also, a router that changes the 518 Sub-Group originator ID MUST use the same value of the Sub-Group 519 Originator ID for a particular P2MP LSP Tunnel and should not vary it 520 during the life of the P2MP LSP Tunnel. 522 Note: This version of the document assumes that these additional 523 fields i.e., are part of the 524 SENDER_TEMPLATE object." 526 6.2. Multiple P2P Sub-LSPs in one Path message 528 The P2P sub-LSP descriptor list allows the signaling of one or more 529 P2P sub-LSPs. 531 in one Path message. It is possible to signal multiple P2P sub-LSP 532 object and ERO/SERO combinations in a single Path message. Note that 533 these two objects are the ones that differentiate a P2P sub-LSP. Each 534 LSR can use the common objects in the Path message and the P2P sub- 535 LSP descriptors to process each P2P sub-LSP. 537 All LSRs need to process, when it is present, the ERO corresponding 538 to the first P2P sub-LSP. If one or more SEROs are present an ERO 539 must be present. The first P2P sub-LSP is propagated in a Path 540 message by each LSR along the explicit route specified by the ERO. A 541 LSR needs to process a P2P sub-LSP descriptor for a subsequent P2P 542 sub-LSP only if the first hop in the corresponding SERO is a local 543 address of that LSR. If this is not the case the P2P sub-LSP 544 descriptor is included in the Path message sent to LSR that is the 545 next hop to reach the first hop in the SERO. This next hop is 546 determined by using the ERO or other SEROs that encode the path to 547 the SERO's first hop. If this is the case and the LSR is also the 548 egress the P2P sub-LSP descriptor is not propagated downstream. If 549 this is the case and the LSR is not the egress the P2P sub-LSP 550 descriptor is included in a Path message sent to the next-hop 551 determined from the SERO. Hence a branch LSR only propagates the 552 relevant P2P sub-LSP descriptors on each downstream link. A P2P sub- 553 LSP descriptor that is propagated on a downstream link only contains 554 those P2P sub-LSPs that are routed using that link. This processing 555 may result in a subsequent P2P sub-LSP in an incoming Path message to 556 become the first P2P sub-LSP in an outgoing Path message. 558 Note that if one or more SEROs contains loose hops, expansion of such 559 loose hops may result in overflowing the Path message size. Section 9 560 describes how signaling of the set of P2P sub-LSPs can be split in 561 more than one Path message. 563 The Record Route Object (RRO) contains the hops traversed by the Path 564 message and applies to all the P2P sub-LSPs signaled in the path 565 message. A transit LSR appends its address in an incoming RRO and 566 propagates it downstream. A branch LSR forms a new RRO for each of 567 the outgoing Path messages. Each such updated RRO is formed by 568 appending the branch LSR's address to the incoming RRO. 570 If a LSR is unable to support a P2P sub-LSP setup, a PathErr message 571 MUST be sent for the impacted P2P sub-LSP, and normal processing of 572 the rest of the P2MP LSP Tunnel SHOULD continue. The default behavior 573 is that the remainder of the LSP is not impacted (that is, all other 574 branches are allowed to set up) and the failed branches are reported 575 in PathErr messages in which the Path_State_Reomved flag MUST NOT be 576 set. However, the ingress LSR may set a LSP Integrity flag (see 577 section 25) to request that if there is a setup failure on any branch 578 the entire LSP should fail to set up. 580 7. Resv Message Format 582 The Resv message follows the [RFC3209] and [RFC3473] format: 584 ::= [ ] 585 [ [ | ] ... ] 586 [ ] 587 588 589 [ ] [ ] 590 [ ] 591 [ ] 592 [ ... ] 593