idnits 2.17.1 draft-raggarwa-mpls-rsvp-te-p2mp-01.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 1965. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1972. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1978. ** 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 98 instances of too long lines in the document, the longest one being 9 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 683 has weird spacing: '...RRO and possi...' == Line 760 has weird spacing: '... leave a P2M...' == Line 1222 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 1045, but not defined == Missing Reference: 'RSVP-FR' is mentioned on line 1160, but not defined == Missing Reference: 'LSP-ATTRIB' is mentioned on line 1660, but not defined == Unused Reference: 'LSP-ATTR' is defined on line 1760, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 1770, but no explicit reference was found in the text == Unused Reference: 'RFC3471' is defined on line 1777, but no explicit reference was found in the text == Unused Reference: 'RSVP-FRR' is defined on line 1790, but no explicit reference was found in the text == Unused Reference: 'BFD-MPLS' is defined on line 1802, but no explicit reference was found in the text == Unused Reference: 'IPR-1' is defined on line 1805, but no explicit reference was found in the text == Unused Reference: 'IPR-2' is defined on line 1808, but no explicit reference was found in the text == Unused Reference: 'RFC2209' is defined on line 1818, 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: May 2005 S. Yasukawa (NTT) 4 Editors 6 Extensions to RSVP-TE for Point to Multipoint TE LSPs 8 draft-raggarwa-mpls-rsvp-te-p2mp-01.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.............................................. 39 121 30 Authors................................................. 40 122 31 Intellectual Property................................... 43 123 32 Full Copyright Statement................................ 43 124 33 Acknowledgement......................................... 44 126 1. Introduction 128 [RFC3209] defines a mechanism for setting up P2P TE LSPs in MPLS 129 networks. [RFC3473] defines extensions to [RFC3209] for setting up 130 P2P TE LSPs in GMPLS networks. However these specifications do not 131 provide a mechanism for building P2MP TE LSPs. 133 This document defines extensions to RSVP-TE [RFC3209] and [RFC3473] 134 protocol to support P2MP TE LSPs satisfying the set of requirements 135 described in [P2MP-REQ]. 137 This document relies on the semantics of RSVP that RSVP-TE inherits 138 for building P2MP LSP Tunnels. A P2MP LSP Tunnel is comprised of 139 multiple P2P sub-LSPs. These P2P sub-LSPs are set up between the 140 ingress and egress LSRs and are appropriately combined by the branch 141 LSRs using RSVP semantics to result in a P2MP TE LSP. One Path 142 message may signal one or multiple P2P sub-LSPs. Hence the P2P sub- 143 LSPs belonging to a P2MP LSP Tunnel can be signaled using one Path 144 message or split across multiple Path messages. 146 Path computation and P2MP application specific aspects are outside of 147 the scope of this document. 149 2. Terminology 151 This document uses terminologies defined in [RFC3031], [RFC2205], 152 [RFC3209], [RFC3473] and [P2MP-REQ]. In addition the following terms 153 are used in this document. 155 P2P sub-LSP: A P2MP TE LSP is constituted of one or more P2P sub- 156 LSPs. A P2P sub-LSP refers to the portion of the label switched path 157 from the ingress LSR to a particular egress LSR. The egress LSR is 158 the destination of the P2P sub-LSP. 160 3. Mechanism 162 This document describes a solution that optimizes data replication by 163 allowing non-ingress nodes in the network to be replication/branch 164 nodes. A branch node is a LSR that is capable of replicating the 165 incoming data on two or more outgoing interfaces. The solution uses 166 RSVP-TE in the core of the network for setting up a P2MP TE LSP. 168 The P2MP TE LSP is set up by associating multiple P2P TE sub-LSPs and 169 relying on data replication at branch nodes. This is described 170 further in the following sub-sections by describing P2MP tunnels and 171 how they relate to P2P sub-LSPs. 173 3.1. P2MP Tunnels 175 The specific aspect related to P2MP TE LSP is the action required at 176 a branch node, where data replication occurs. For instance, in the 177 MPLS case, incoming labeled data is appropriately replicated to 178 several outgoing interfaces with different labels. 180 A P2MP TE tunnel comprises of one or more P2MP LSPs referred to as 181 P2MP LSP tunnels. A P2MP TE Tunnel is identified by a P2MP SESSION 182 object. This object contains the P2MP ID defined as a destination 183 identifier, a tunnel ID and an extended tunnel ID. 185 The fields of a P2MP SESSION object are identical to those of the 186 SESSION object defined in [RFC3209] except that the Tunnel Endpoint 187 Address field is replaced by the P2MP Identifier (P2MP ID) field. 189 This identifier encodes the P2MP ID and identifies the set of 190 destination(s) of the P2MP LSP Tunnel. 192 3.2. P2MP LSP Tunnel 194 A P2MP TE tunnel comprises of one or more P2MP LSPs referred to as 195 P2MP LSP Tunnels. A P2MP LSP Tunnel is identified by the combination 196 of the P2MP ID, Tunnel ID, and Extended Tunnel ID that are part of 197 the P2MP SESSION object, and the IPv4 or IPv6 tunnel sender address 198 and LSP ID fields of the P2MP SENDER_TEMPLATE object. The new P2MP 199 SENDER_TEMPLATE object is defined in section 24.2 201 3.3. P2P Sub-LSPs 203 A P2MP LSP Tunnel is constituted of one or more P2P sub-LSPs. 205 3.3.1. Representation of a P2P Sub-LSP 207 A P2P sub-LSP exists within the context of a P2MP LSP Tunnel. Thus it 208 is identified by the P2MP ID, Tunnel ID, and Extended Tunnel ID that 209 are part of the P2MP SESSION, the IPv4 or IPv6 tunnel sender address 210 and LSP ID fields of the P2MP SENDER_TEMPLATE object, and the P2P 211 sub-LSP destination address that is part of the P2P_SUB_LSP object. 212 The P2P_SUB_LSP object is defined in section 24.3. 214 Additionally, a sub-LSP ID contained in the P2P_SUB_LSP object may be 215 used depending on further discussions about the make-before-break 216 procedures described in section 19. 218 An EXPLICIT_ROUTE Object (ERO) or SUB_EXPLICIT_ROUTE Object (SERO) is 219 used to optionally specify the explicit route of a P2P sub-LSP. Each 220 ERO or a SERO that is signaled corresponds to a particular 221 P2P_SUB_LSP object. Details of explicit route encoding are specified 222 in section 3.4. 224 3.3.2. P2P Sub-LSPs and Path Messages 226 The mechanism in this document allows a P2MP LSP Tunnel to be 227 signaled using one or more Path messages. Each Path message may 228 signal one or more P2P sub-LSPs. Multiple Path messages are desirable 229 as one Path message may not be large enough to fit all the P2P sub- 230 LSPs; and they also allow separate manipulation of sub-trees of the 231 P2MP LSP Tunnel. The reason for allowing a single Path message, to 232 signal multiple P2P sub-LSPs, is to optimize the number of control 233 messages needed to setup a P2MP LSP Tunnel. 235 3.4. Explicit Route Encoding 237 When a Path message signals a single P2P sub-LSP (that is, the Path 238 message is only targeting a single leaf in the P2MP tree), the 239 EXPLICIT_ROUTE object encodes the path from the ingress LSR to the 240 egress LSR. The Path message also includes the P2P_SUB_LSP object for 241 the P2P sub-LSP being signaled. The < [], 242 > tuple represents the P2P sub-LSP. The absence of the 243 ERO should be interpreted as requiring hop-by-hop routing for the 244 sub-LSP based on the P2P sub-LSP destination address field of the 245 P2P_SUB_LSP object. 247 The absence of the ERO should be interpreted as requiring hop-by-hop 248 routing for the sub-LSP based on the P2P sub-LSP destination address 249 field of the P2P_SUB_LSP object. 251 When a Path message signals multiple P2P sub-LSPs the path of the 252 first P2P sub-LSP, from the ingress LSR to the egress LSR, is encoded 253 in the ERO. The first P2P sub-LSP is the one that corresponds to the 254 first P2P_SUB_LSP object in the Path message. The P2P sub-LSPs 255 corresponding to the P2P_SUB_LSP objects that follow are termed as 256 subsequent P2P sub-LSPs. The path of each subsequent P2P sub-LSP is 257 encoded in a SUB_EXPLICIT_ROUTE object (SERO). The format of the SERO 258 is the same as an ERO (as defined in [RFC3209]). Each subsequent P2P 259 sub-LSP is represented by tuples of the form [] 260 . There is a one to one correspondence between a 261 P2P_SUB_LSP object and a SERO. The absence of a SERO should be 262 interpreted as requiring hop-by-hop routing for that sub-LSP. Note 263 that the destination address is carried in the P2P sub-LSP object. 264 The encoding of the SERO and P2P sub-LSP object are described in 265 detail in section 24. 267 The motivation behind the use of the SERO object is to provide 268 explicit route compression when a Path message signals simultaneously 269 multiple P2P sub-LSPs. One approach to encode the explicit route of a 270 subsequent P2P sub-LSP is to include the path from the ingress to the 271 egress of the P2P sub-LSP. However this implies potential repetition 272 of hops that can be learned from the ERO or explicit routes of other 273 P2P sub-LSPs. Explicit route compression using SEROs attempts to 274 minimize such repetition. A SERO for a particular P2P sub-LSP 275 includes only the path from a certain branch LSR to the egress LSR if 276 the path to that branch LSR can be derived from the ERO or other 277 SEROs. 279 Explicit route compression is illustrated using the following figure. 281 A 282 | 283 | 284 B 285 | 286 | 287 C----D----E 288 | | | 289 | | | 290 F G H-------I 291 | | | 292 | | | 293 J K L M 294 | | | | 295 | | | | 296 N O P Q--R 298 Figure 1. Explicit Route Compression 300 Figure 1. shows a P2MP LSP Tunnel with LSR A as the ingress LSR and 301 six egress LSRs: (F, N, O, P, Q and R). When all the six P2P sub-LSPs 302 are signaled in one Path message let us assume that the P2P sub-LSP 303 to LSR F is the first P2P sub-LSP and the rest are subsequent P2P 304 sub-LSPs. Following is one way for the ingress LSR A to encode the 305 P2P sub-LSP explicit routes using compression: 307 P2P sub-LSP-F: ERO = {B, E, D, C, F}, P2P_SUB_LSP Object-F 308 P2P sub-LSP-N: SERO = {D, G, J, N}, P2P_SUB_LSP Object-N 309 P2P sub-LSP-O: SERO = {E, H, K, O}, P2P_SUB_LSP Object-O 310 P2P sub-LSP-P: SERO = {H, L, P}, P2P_SUB_LSP Object-P, 311 P2P sub-LSP-Q: SERO = {H, I, M, Q}, P2P_SUB_LSP Object-Q, 312 P2P sub-LSP-R: SERO = {Q, R}, P2P_SUB_LSP Object-R, 314 After LSR E processes the incoming Path message from LSR B it sends a 315 Path message to LSR D with the P2P sub-LSP explicit routes encoded as 316 follows: 318 P2P sub-LSP-F: ERO = {D, C, F}, P2P_SUB_LSP Object-F 319 P2P sub-LSP-N: SERO = {D, G, J, N}, P2P_SUB_LSP Object-N 321 LSR E also sends a Path message to LSR H and following is one way to 322 encode the P2P sub-LSP explicit routes using compression: 324 P2P sub-LSP-O: ERO = {H, K, O}, P2P_SUB_LSP Object-O 325 P2P sub-LSP-P: SERO = {H, L, P}, P2P_SUB_LSP Object-P, 326 P2P sub-LSP-Q: SERO = {H, I, M, Q}, P2P_SUB_LSP Object-Q, 327 P2P sub-LSP-R: SERO = {Q, R}, P2P_SUB_LSP Object-R, 329 After LSR H processes the incoming Path message from E it sends a 330 Path message to LSR K, LSR L and LSR I. The encoding for the Path 331 message to LSR K is as follows: 333 P2P sub-LSP-O: ERO = {K, O}, P2P_SUB_LSP Object-O 335 The encoding of the Path message sent by LSR H to LSR L is as 336 follows: 338 P2P sub-LSP-P: ERO = {L, P}, P2P_SUB_LSP Object-P, 340 Following is one way for LSR H to encode the P2P sub-LSP explicit 341 routes in the Path message sent to LSR I: 343 P2P sub-LSP-Q: ERO = {I, M, Q}, P2P_SUB_LSP Object-Q, 344 P2P sub-LSP-R: SERO = {Q, R}, P2P_SUB_LSP Object-R, 346 The explicit route encodings in the Path messages sent by LSRs D and 347 Q are left as an exercise to the reader. 349 This compression mechanism reduces the Path message size. It also 350 reduces extra processing that can result if explicit routes are 351 encoded from ingress to egress for each P2P sub-LSP. No assumptions 352 are placed on the ordering of the subsequent P2P sub-LSPs and hence 353 on the ordering of the SEROs in the Path message. All LSRs need to 354 process the ERO corresponding to the first P2P sub-LSP. A LSR needs 355 to process a P2P sub-LSP descriptor for a subsequent P2P sub-LSP only 356 if the first hop in the corresponding SERO is a local address of that 357 LSR. The branch LSR that is the first hop of a SERO propagates the 358 corresponding P2P sub-LSP downstream. 360 4. Sub-Groups 362 As with all other RSVP controlled LSP Tunnels, P2MP LSP Tunnel state 363 is managed using RSVP messages. While use of RSVP messages is the 364 same, P2MP LSP Tunnel state differs from P2P LSP state in a number of 365 ways. The two most notable differences are that a P2MP LSP Tunnel is 366 targeted at multiple P2P Sub-LSPs and that, as a result of this, it 367 may not be possible to represent full state in a single IP datagram 368 and even more likely that it can't fit into a single IP packet. It 369 must also be possible to efficiently add and remove endpoints to and 370 from P2MP TE LSPs. An additional issue is that P2MP LSP Tunnels must 371 also handle the state "remerge" problem, see [P2MP-REQ]. 373 These differences in P2MP state are addressed through the addition of 374 a sub-group identifier (Sub-Group ID) and sub-group originator (Sub- 375 Group Originator ID) to the SENDER_TEMPLATE and FILTER_SPEC objects. 376 Taken together the Sub-Group ID and Sub-Group Originator ID are 377 referred to as the Sub-Group fields. 379 The Sub-Group fields, together with rest of the SENDER_TEMPLATE and 380 SESSION objects, are used to represent a portion of a P2MP LSP 381 Tunnel's state. The portion of P2MP LSP Tunnel state identified by 382 specific subgroup field values is referred to as a signaling sub- 383 tree. It is important to note that the term "signaling sub-tree" 384 refers only to signaling state and not data plane replication or 385 branching. For example, it is possible for a node to "branch" 386 signaling state for a P2MP LSP Tunnel, but to not branch the data 387 associated with the P2MP LSP Tunnel. Typical applications for 388 generation and use of multiple subgroups are adding an egress and 389 semantic fragmentation to ensure that a Path message remains within a 390 single IP packet. 392 5. Path Message Format 394 This section describes modifications made to the Path message format 395 as specified in [RFC3209] and [RFC3473]. The Path message is enhanced 396 to signal one or more P2P sub-LSPs. This is done by including the P2P 397 sub-LSP descriptor list in the Path message as shown below. 399 ::= [ ] 400 [ [ | ] ...] 401 [ ] 402 403 404 [ ] 405 406 [ ] 408 [ ... ] 409 [ ] 410 [ ] 411 [ ] 412 [ ... ] 413 414 [P2P sub-LSP descriptor list] 416 Following is the format of the P2P sub-LSP descriptor list. 418 ::= 419 [ ] 421 ::= [ ] 423 Each LSR MUST use the common objects in the Path message and the P2P 424 sub-LSP descriptors to process each P2P sub-LSP represented by the 425 P2P sub-LSP object and the SUB-/EXPLICIT_ROUTE object combination. 427 The first P2P_SUB_LSP object's explicit route is specified by the 428 ERO. Explicit routes of subsequent P2P sub-LSPs are specified by the 429 corresponding SERO. A SERO corresponds to the following P2P_SUB_LSP 430 object. 432 The RRO in the sender descriptor contains the hops traversed by the 433 Path message and applies to all the P2P sub-LSPs signaled in the Path 434 message. 436 Path message processing is described in the next section. 438 6. Path Message Processing 440 The ingress-LSR initiates the set up of a P2P sub-LSP to each egress- 441 LSR that is the destination of the P2MP LSP Tunnel. Each P2P sub-LSP 442 is associated with the same P2MP LSP Tunnel using common P2MP SESSION 443 object and fields in the SENDER_TEMPLATE 444 object. Hence it can be combined with other P2P sub-LSPs to form a 445 P2MP LSP Tunnel. Another P2P sub-LSP belonging to the same instance 446 of this P2P sub-LSP (i.e. the same P2MP LSP Tunnel) can share 447 resources with this LSP. The session corresponding to the P2MP TE 448 tunnel is determined based on the P2MP SESSION object. Each P2P sub- 449 LSP is identified using the P2P_SUB_LSP object. Explicit routing for 450 the P2P sub-LSPs is achieved using the ERO and SEROs. 452 As mentioned earlier, it is possible to signal P2P sub-LSPs for a 453 given P2MP LSP Tunnel in one or more Path messages. And a given Path 454 message can contain one or more P2P sub-LSPs." 456 6.1. Multiple Path messages 458 As described in section 3, or 459 tuple is used to specify a P2P 460 sub-LSP. Multiple Path messages can be used to signal a P2MP LSP 461 Tunnel. Each Path message can signal one or more P2P sub-LSPs. If a 462 Path message contains only one P2P sub-LSP, each LSR along the P2P 463 sub-LSP follows [RFC3209] procedures for processing the Path message 464 besides the P2P SUB-LSP object processing described in this document. 466 Processing of Path messages containing more than one P2P sub-LSP is 467 described in Section 6.2. 469 An ingress LSR may use multiple Path messages for signaling a P2MP 470 LSP. This may be because a single Path message may not be large 471 enough to signal the P2MP LSP Tunnel. Or it may be while adding 472 leaves to the P2MP LSP Tunnel the new leaves are signaled in a new 473 Path message. Or an ingress LSR MAY choose to break the P2MP tree 474 into separate manageable P2MP trees. These trees share the same root 475 and may share the trunk and certain branches. The scope of this 476 management decomposition of P2MP trees is bounded by a single tree 477 and multiple trees with a single leaf each. Per [P2MP-REQ], a P2MP 478 LSP Tunnel must have consistent attributes across all portions of a 479 tree. This implies that each Path message that is used to signal a 480 P2MP LSP Tunnel is signaled using the same signaling attributes with 481 the exception of the P2P sub-LSP information. 483 The resulting sub-LSPs from the different Path messages belonging to 484 the same P2MP LSP Tunnel SHOULD share labels and resources where they 485 share hops to prevent multiple copies of the data being sent. 487 In certain cases a transit LSR may need to generate multiple Path 488 messages to signal state corresponding to a single received Path 489 message. For instance ERO expansion may result in an overflow of the 490 resultant Path message. There are two cases occurring in such 491 circumstances, either the message can be decomposed into multiple 492 Path messages such that each of the message carries a subset of the 493 incoming P2P sub-LSPs carried by the incoming message or the message 494 can not be decomposed such that each of the outgoing Path message 495 fits its maximum size value." 497 6.1.1. Identifying Multiple Path Messages 499 Multiple Path messages generated by a LSR that signal state for the 500 same P2MP LSP are signaled with the same SESSION object and have the 501 same in the SENDER_TEMPLATE object. In order 502 to disambiguate these Path messages a tuple is introduced (also referred to as the Sub-Group 504 field). Multiple Path messages generated by a LSR to signal state 505 for the same P2MP LSP have the same Sub-Group Originator ID and have 506 a different sub-Group ID. The Sub-Group Originator ID SHOULD be set 507 to the Router ID of the LSR that originates the Path message. This is 508 either the ingress LSR or a LSR which re-originates the Path message 509 with its own Sub-Group Originator ID. Cases when a transit LSR may 510 change the Sub-Group Originator ID of an incoming Path message are 511 described below. The tuple is 512 globally unique. The sub-Group ID space is specific to the Sub-Group 513 Originator ID. Therefore the combination is network-wide unique. Also, a router that changes the 515 Sub-Group originator ID MUST use the same value of the Sub-Group 516 Originator ID for a particular P2MP LSP Tunnel and should not vary it 517 during the life of the P2MP LSP Tunnel. 519 Note: This version of the document assumes that these additional 520 fields i.e., are part of the 521 SENDER_TEMPLATE object." 523 6.2. Multiple P2P Sub-LSPs in one Path message 525 The P2P sub-LSP descriptor list allows the signaling of one or more 526 P2P sub-LSPs. 528 in one Path message. It is possible to signal multiple P2P sub-LSP 529 object and ERO/SERO combinations in a single Path message. Note that 530 these two objects are the ones that differentiate a P2P sub-LSP. Each 531 LSR can use the common objects in the Path message and the P2P sub- 532 LSP descriptors to process each P2P sub-LSP. 534 All LSRs need to process, when it is present, the ERO corresponding 535 to the first P2P sub-LSP. If one or more SEROs are present an ERO 536 must be present. The first P2P sub-LSP is propagated in a Path 537 message by each LSR along the explicit route specified by the ERO. A 538 LSR needs to process a P2P sub-LSP descriptor for a subsequent P2P 539 sub-LSP only if the first hop in the corresponding SERO is a local 540 address of that LSR. If this is not the case the P2P sub-LSP 541 descriptor is included in the Path message sent to LSR that is the 542 next hop to reach the first hop in the SERO. This next hop is 543 determined by using the ERO or other SEROs that encode the path to 544 the SERO's first hop. If this is the case and the LSR is also the 545 egress the P2P sub-LSP descriptor is not propagated downstream. If 546 this is the case and the LSR is not the egress the P2P sub-LSP 547 descriptor is included in a Path message sent to the next-hop 548 determined from the SERO. Hence a branch LSR only propagates the 549 relevant P2P sub-LSP descriptors on each downstream link. A P2P sub- 550 LSP descriptor that is propagated on a downstream link only contains 551 those P2P sub-LSPs that are routed using that link. This processing 552 may result in a subsequent P2P sub-LSP in an incoming Path message to 553 become the first P2P sub-LSP in an outgoing Path message. 555 Note that if one or more SEROs contains loose hops, expansion of such 556 loose hops may result in overflowing the Path message size. Section 9 557 describes how signaling of the set of P2P sub-LSPs can be split in 558 more than one Path message. 560 The Record Route Object (RRO) contains the hops traversed by the Path 561 message and applies to all the P2P sub-LSPs signaled in the path 562 message. A transit LSR appends its address in an incoming RRO and 563 propagates it downstream. A branch LSR forms a new RRO for each of 564 the outgoing Path messages. Each such updated RRO is formed by 565 appending the branch LSR's address to the incoming RRO. 567 If a LSR is unable to support a P2P sub-LSP setup, a PathErr message 568 MUST be sent for the impacted P2P sub-LSP, and normal processing of 569 the rest of the P2MP LSP Tunnel SHOULD continue. The default behavior 570 is that the remainder of the LSP is not impacted (that is, all other 571 branches are allowed to set up) and the failed branches are reported 572 in PathErr messages in which the Path_State_Reomved flag MUST NOT be 573 set. However, the ingress LSR may set a LSP Integrity flag (see 574 section 25) to request that if there is a setup failure on any branch 575 the entire LSP should fail to set up. 577 7. Resv Message Format 579 The Resv message follows the [RFC3209] and [RFC3473] format: 581 ::= [ ] 582 [ [ | ] ... ] 583 [ ] 584 585 586 [ ] [ ] 587 [ ] 588 [ ] 589 [ ... ] 590