idnits 2.17.1 draft-ietf-mpls-rsvp-unnum-02.txt: ** The Abstract section seems to be numbered Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. 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 == The page length should not exceed 58 lines per page, but there was 7 longer pages, the longest (page 2) being 61 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Authors' Addresses Section. ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 77: '... component link of a bundled link (see [BUNDLE]), the LSR MUST...' RFC 2119 keyword, line 80: '...at forms the Forwarding Adjacency MUST...' RFC 2119 keyword, line 88: '...the tail-end LSR MUST allocate an inte...' RFC 2119 keyword, line 90: '... the LSP MUST contain an LSP_TUNNEL_...' RFC 2119 keyword, line 132: '... This subobject MUST be strict (i.e.,...' (11 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- -- 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: 'GMPLS-ISIS' is mentioned on line 43, but not defined == Missing Reference: 'GMPLS-OSPF' is mentioned on line 43, but not defined == Missing Reference: 'LINK-BUNDLE' is mentioned on line 177, but not defined == Unused Reference: 'ISIS-TE' is defined on line 280, but no explicit reference was found in the text == Unused Reference: 'OSPF-TE' is defined on line 286, but no explicit reference was found in the text -- Possible downref: Normative reference to a draft: ref. 'BUNDLE' == Outdated reference: A later version (-05) exists of draft-ietf-isis-traffic-02 ** Downref: Normative reference to an Informational draft: draft-ietf-isis-traffic (ref. 'ISIS-TE') == Outdated reference: A later version (-08) exists of draft-ietf-mpls-lsp-hierarchy-02 == Outdated reference: A later version (-10) exists of draft-katz-yeung-ospf-traffic-04 == Outdated reference: A later version (-09) exists of draft-ietf-mpls-rsvp-lsp-tunnel-08 Summary: 7 errors (**), 0 flaws (~~), 11 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group Kireeti Kompella 2 Internet Draft Juniper Networks 3 Expiration Date: February 2002 Yakov Rekhter 4 Juniper Networks 6 Signalling Unnumbered Links in RSVP-TE 8 draft-ietf-mpls-rsvp-unnum-02.txt 10 1. Status of this Memo 12 This document is an Internet-Draft and is in full conformance with 13 all provisions of Section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that other 17 groups may also distribute working documents as Internet-Drafts. 19 Internet-Drafts are draft documents valid for a maximum of six months 20 and may be updated, replaced, or obsoleted by other documents at any 21 time. It is inappropriate to use Internet-Drafts as reference 22 material or to cite them other than as ``work in progress.'' 24 The list of current Internet-Drafts can be accessed at 25 http://www.ietf.org/ietf/1id-abstracts.txt 27 The list of Internet-Draft Shadow Directories can be accessed at 28 http://www.ietf.org/shadow.html. 30 2. Abstract 32 Current signalling used by MPLS TE doesn't provide support for 33 unnumbered links. This document defines procedures and extensions to 34 RSVP-TE, one of the MPLS TE signalling protocols, that are needed in 35 order to support unnumbered links. 37 3. Overview 39 Supporting MPLS TE over unnumbered links (i.e., links that do not 40 have IP addresses) involves two components: (a) the ability to carry 41 (TE) information about unnumbered links in IGP TE extensions (ISIS or 42 OSPF), and (b) the ability to specify unnumbered links in MPLS TE 43 signalling. The former is covered in [GMPLS-ISIS, GMPLS-OSPF]. The 44 focus of this document is on the latter. 46 Current signalling used by MPLS TE doesn't provide support for 47 unnumbered links because the current signalling doesn't provide a way 48 to indicate an unnumbered link in its Explicit Route and Record Route 49 Objects. This document proposes simple procedures and extensions that 50 allow RSVP-TE signalling [RSVP-TE] to be used with unnumbered links. 52 4. Interface Identifiers 54 Since unnumbered links are not identified by an IP address, then for 55 the purpose of MPLS TE they need some other identifier. We assume 56 that each unnumbered link on a Label Switched Router (LSR) is given a 57 unique 32-bit identifier. The scope of this identifier is the LSR to 58 which the link belongs; moreover, the IS-IS and/or OSPF and RSVP 59 modules on an LSR must agree on interface identifiers. 61 Note that links are directed, i.e., a link l is from some LSR A to 62 some other LSR B. LSR A chooses the interface identifier for link l. 63 To be completely clear, we call this the "outgoing interface 64 identifier from LSR A's point of view". If there is a reverse link 65 from LSR B to LSR A (for example, a point-to-point SONET interface 66 connecting LSRs A and B would be represented as two links, one from A 67 to B, and another from B to A), B chooses the outgoing interface 68 identifier for the reverse link; we call this the link's "incoming 69 interface identifier from A's point of view". There is no a priori 70 relationship between the two interface identifiers. 72 5. Unnumbered Forwarding Adjacencies 74 If an LSR that originates an LSP advertises this LSP as an unnumbered 75 Forwarding Adjacency in IS-IS or OSPF (see [LSP-HIER]), or the LSR 76 uses the Forwarding Adjacency formed by this LSP as an unnumbered 77 component link of a bundled link (see [BUNDLE]), the LSR MUST 78 allocate an interface identifier to that Forwarding Adjacency (just 79 like for any other unnumbered link). Moreover, the Path message used 80 for establishing the LSP that forms the Forwarding Adjacency MUST 81 contain an LSP_TUNNEL_INTERFACE_ID object (described below), with the 82 LSR's Router ID set to the head end's Router ID, and the Interface ID 83 set to the interface identifier that the LSR allocated to the 84 Forwarding Adjacency. 86 If the LSP is bidirectional, and the tail-end LSR (of the forward 87 LSP) advertises the reverse LSP as an unnumbered Forwarding 88 Adjacency, the tail-end LSR MUST allocate an interface identifier to 89 the reverse Forwarding Adjacency. Furthermore, the Resv message for 90 the LSP MUST contain an LSP_TUNNEL_INTERFACE_ID object, with the 91 LSR's Router ID set to the tail-end's Router ID, and the Interface ID 92 set to the interface identifier allocated by the tail-end LSR. 94 5.1. LSP_TUNNEL_INTERFACE_ID Object 96 The LSP_TUNNEL_INTERFACE_ID object has a class number of type 97 11bbbbbb (to be assigned by IANA), C-Type of 1 and length of 12. The 98 format is given below. 100 Figure 1: LSP_TUNNEL_INTERFACE_ID Object 102 0 1 2 3 103 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 104 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 105 | LSR's Router ID | 106 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 107 | Interface ID (32 bits) | 108 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 110 This object can optionally appear in either a Path message or a Resv 111 message. In the former case, we call it the "Forward Interface ID" 112 for that LSP; in the latter case, we call it the "Reverse Interface 113 ID" for the LSP. 115 6. Signalling Unnumbered Links in EROs 117 A new subobject of the Explicit Route Object (ERO) is used to specify 118 unnumbered links. This subobject has the following format: 120 Figure 2: Unnumbered Interface ID Subobject 122 0 1 2 3 123 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 124 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 125 |L| Type | Length | Reserved (MUST be zero) | 126 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 127 | Router ID | 128 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 129 | Interface ID (32 bits) | 130 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 132 This subobject MUST be strict (i.e., the L bit MUST be 0). The Type 133 is 4 (Unnumbered Interface ID). The Length is 12. 135 The Interface ID is the outgoing interface identifier with respect to 136 the LSR specified by the router ID. 138 6.1. Processing the Unnumbered Interface ID Subobject 140 First of all, the receiving LSR must validate that it received the 141 Path message correctly. If the first subobject in the ERO is an 142 Unnumbered Interface subobject, the check is done as follows (for 143 other types of ERO subobjects, the rules in [RSVP-TE] apply). 145 The PHOP or IF_ID RSVP_HOP object in the message MUST contain the 146 same Router ID (IP Address) as the Router ID carried in the 147 subobject. If not, the receiving LSR MUST return a PathErr. If 148 IF_ID RSVP_HOP object is present, and it carries the IF_INDEX TLV, 149 the receiving LSR SHOULD check that the value carried in this TLV is 150 the same as carried in the subobject. If the value is different, the 151 receiving LSR MUST return a PathErr. 153 If the above checks are passes, the LSR checks whether the tuple 154 from the Unnumbered Interface subobject 155 matches the tuple of any of the 156 LSPs for which the LSR is a tail-end. If a match is found, the match 157 identifies the Forwarding Adjacency for which the LSR has to perform 158 label allocation. 160 Otherwise, the LSR MUST check whether the tuple from the Unnumbered Interface subobject matches the tuple of any of the bidirectional LSPs for which 163 the LSR is the head-end. If a match is found, the match identifies 164 the Forwarding Adjacency for which the LSR has to perform label 165 allocation, namely, the reverse Forwarding Adjacency for the LSP 166 identified by the match. 168 Otherwise, the LSR must have information about the identifiers 169 assigned by its neighbors to the unnumbered links (i.e., incoming 170 interface identifiers from LSR's point of view). The LSR uses this 171 information to find a link with tuple matching the tuple from the 173 Unnumbered Interface subobject. If the matching tuple is found, and 174 the link is not a bundled link, the match identifies the link for 175 which the LSR has to perform label allocation. If the matching tuple 176 is found, and the link is a bundled link, the LSR follows the 177 procedures for label allocation as described in [LINK-BUNDLE]. 179 Otherwise, the LSR SHOULD return a "Bad initial subobject" error. 181 6.2. Selecting the Next Hop 183 Once an LSR determines the link for which the LSR has to perform 184 label allocation, the LSR removes the initial subobject in the ERO, 185 and computes the next hop. The next hop for an Unnumbered Interface 186 subobject is computed as follows. The Interface ID in the subobject 187 MUST refer to an outgoing interface identifier that this node 188 allocated; if not, the LSR SHOULD return a "Bad EXPLICIT_ROUTE 189 object" error. The next hop is the LSR at the other end of the link 190 that the Interface ID refers to. If this is the LSR itself, the 191 subobject is removed, and the process repeated. If the next hop is 192 some other LSR, then this is the next hop to which a Path message 193 must be sent. 195 When sending a Path message to the next hop, if the Path message 196 carries the PHOP object, then this object MUST contain the LSR's 197 Router ID. If the Path message carries the IF_ID object, then this 198 object MUST contain the IF_INDEX TLV, with IP Address in that TLV set 199 to the LSR's Router ID, and Interface ID set to the Interface ID 200 carried in the first subobject of the ERO. 202 7. Record Route Object 204 A new subobject of the Record Route Object (RRO) is used to record 205 that the LSP path traversed an unnumbered link. This subobject has 206 the following format: 208 0 1 2 3 209 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 210 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 211 | Type | Length | Flags | Reserved (MBZ)| 212 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 213 | Router ID | 214 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 215 | Interface ID (32 bits) | 216 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 218 The Type is 4 (Unnumbered Interface ID); the Length is 12. Flags are 219 defined below. 221 0x01 Local protection available 223 Indicates that the link downstream of this node is protected 224 via a local repair mechanism. This flag can only be set if 225 the Local protection flag was set in the SESSION_ATTRIBUITE 226 object of the cooresponding Path message. 228 0x02 Local protection in use 230 Indicates that a local repair mechanism is in use to 231 maintain this tunnel (usually in the face a an outage of the 232 link it was previously routed over). 234 7.1. Handling RRO 236 If at an intermediate node (or at the head-end), the ERO subobject 237 that was used to determine the next hop is of type Unnumbered 238 Interface ID, and a RRO object was received in the Path message (or 239 is desired in the original Path message), an RRO subobject of type 240 Unnumbered Interface ID MUST be appended to the received RRO when 241 sending a Path message downstream. 243 If the ERO subobject that was used to determine the next hop is of 244 any other type, the handling procedures of [RSVP-TE] apply. Also, if 245 Label Recording is desired, the procedures of [RSVP-TE] apply. 247 8. Security Considerations 249 This document raises no new security concerns for RSVP. 251 9. IANA Considerations 253 The responsible Internet authority (presently called the IANA) 254 assigns values to RSVP protocol parameters. The current document 255 defines a new subobject for the EXPLICIT_ROUTE object and for the 256 ROUTE_RECORD object. The rules for the assignment of subobject 257 numbers have been defined in [RSVP-TE], using the terminology of BCP 258 26 "Guidelines for Writing an IANA Considerations Section in RFCs". 259 Those rules apply to the assignment of subobject numbers for the new 260 subobject of the EXPLICIT_ROUTE and ROUTE_RECORD objects. 262 Furthermore, the same Internet authority needs to assign a class 263 number to the LSP_TUNNEL_INTERFACE_ID object. This must be of the 264 form 11bbbbbb (i.e., this is an 8-bit number whose two most 265 significant bits are 1). 267 10. Acknowledgments 269 Thanks to Lou Berger and Markus Jork for pointing out that the RRO 270 should be extended in like fashion to the ERO. Thanks also to Rahul 271 Aggarwal and Alan Kullberg for their comments on the text. Finally, 272 thanks to Bora Akyol and Vach Kompella. 274 11. References 276 [BUNDLE] Kompella, K., Rekhter, Y., and Berger, L., "Link Bundling in 277 MPLS Traffic Engineering", draft-kompella-mpls-bundle-05.txt (work in 278 progress) 280 [ISIS-TE] Smit, H., and Li, T., "IS-IS extensions for Traffic 281 Engineering", draft-ietf-isis-traffic-02.txt (work in progress) 283 [LSP-HIER] Kompella, K., and Rekhter, Y., "LSP Hierarchy with MPLS 284 TE", draft-ietf-mpls-lsp-hierarchy-02.txt (work in progress) 286 [OSPF-TE] Katz, D., and Yeung, D., "Traffic Engineering Extensions to 287 OSPF", draft-katz-yeung-ospf-traffic-04.txt (work in progress) 289 [RSVP-TE] Awduche, D., Berger, L., Gan, D. H., Li, T., Srinivasan, 290 V., and Swallow, G., "RSVP-TE: Extensions to RSVP for LSP Tunnels", 291 draft-ietf-mpls-rsvp-lsp-tunnel-08.txt (work in progress) 292 12. Author Information 294 Kireeti Kompella 295 Juniper Networks, Inc. 296 1194 N. Mathilda Ave. 297 Sunnyvale, CA 94089 298 e-mail: kireeti@juniper.net 300 Yakov Rekhter 301 Juniper Networks, Inc. 302 1194 N. Mathilda Ave. 303 Sunnyvale, CA 94089 304 e-mail: yakov@juniper.net