Network Working Group Atsushi Iwata Internet Draft Norihito Fujita NEC Corporation Expiration Date: May 2001 Gerald R. Ash AT&T Adrian Farrel Data Connection Ltd. November 2000 Crankback Routing Extensions for MPLS Signaling Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 1] Internet Draft November 2000 Abstract This draft proposes crankback routing extensions for CR-LDP signaling and for RSVP-TE signaling. Recently, several routing protocol extensions for advertising resource information in addition to topology information have been proposed for use in distributed constraint-based routing. In such a distributed routing environment, however, the information used to compute a constraint-based path may be out of date. This means that LSP setup requests may be blocked by links or nodes without sufficient resources. This draft specifies crankback routing extensions for CR-LDP and RSVP-TE so that the label request can be retried on an alternate path that detours around the blocked link or node upon a setup failure. Furthermore, the crankback routing schemes can also be applied to LSP restoration by indicating the location of the failure link or node. This would significantly improve the successful recovery ratio for failed LSPs, especially in situations where a large number of setup requests are triggered at the same time. Table of Contents Page 1. Introduction 3 2. Explicit versus implicit rerouting indications 4 3. Crankback routing behaviors due to LSP setup blockage 6 4. New status codes for rerouting 8 5. Location Identifiers of Blocked Links or Nodes 8 6. Indication of Rerouting Behavior 9 7. Additional TLVs 10 7.1. Rerouting TLV 10 7.2. Link TLV 11 7.3. Node TLV 14 8. Routing protocol interactions 16 9. RSVP-TE considerations 16 9.1 Indication of Rerouting Behavior 18 9.2 Rerouting Object 19 9.3 Link-Rerouting Subobject 20 9.4 Node-Rerouting Subobject 23 9.5 Error Values 25 9.6 ResvErr Usage 25 9.7 Notify Message Usage 25 9.8 Backward Compatibility 26 10. LSP restoration considerations 27 11. Security Considerations 28 12. Acknowledgments 28 13. References 28 Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 2] Internet Draft November 2000 1. Introduction CR-LDP (Constraint-based Routing Label Distribution Protocol) [CR- LDP] and RSVP-TE (RSVP Extensionf for LSP Tunnel) [RSVP-TE] can be used for establishing explicitly routed LSPs (CR-LSPs) in an MPLS network. Using CR-LDP and RSVP-TE, resources can also be reserved along a path to guarantee or control QoS for traffic carried on the LSP. To designate an explicit path that satisfies QoS constraints, it is necessary to discern the resources available to each link or node in the network. For the collection of such resource information, routing protocols, such as OSPF [OSPF] and IS-IS [ISIS], can be extended to distribute additional state information [AWDUCHE1]. Explicit paths can be designated based on the distributed information at the LSR initiating a LSP and, if necessary, intermediate area border LSRs. In a distributed routing environment, however, the resource information used to compute a constraint-based path may be out of date. This means that a setup request may be blocked, for example, because a link or node along the selected path has insufficient resources. In the current CR-LDP specification, when an LSP setup failure occurs, a Notification message is returned to the setup initiator (ingress LSR), which terminates this message and gives up the LSP establishment. In RSVP-TE, a blocked LSP setup may result in a PathErr message sent to the initiator or a ResvErr sent to the terminator (egress LSR). These messages may result in the LSP setup being abandoned. In Generalized MPLS [GMPLS] the Notify message can be used in RSVP-TE networks to expedite notification of LSP failures to ingress and egress LSRs, or to a specific "repair point". If the ingress or intermediate area border LSR knows the location of the blocked link or node, the LSR can designate an alternate path and then reissue the setup request, which can be achieved by the mechanism known as crankback routing [PNNI, ASH1, ASH2]. We propose the use of crankback routing in CR-LDP and RSVP-TE. Crankback routing requires notifying an upstream LSR of the location of the blocked link or node. On the other hand, various restoration schemes for link or node failures have been proposed in [MAKAM, SHARMA] and others. Fast restoration by pre-establishing a backup LSP is useful for failures on a primary LSP. If both the primary and backup paths fail, however, it is necessary to reestablish the LSP on an end-to-end basis. End- to-end restoration for alternate routing requires the location of the failed link or node. The crankback routing schemes could also be used to notify upstream LSRs of the location of the failure. Furthermore, in situations where many link or node failures occur at the same time, the difference between the distributed routing information and Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 3] Internet Draft November 2000 the real-time network state becomes much greater than in normal LSP setups. The LSP restoration must therefore be performed with inaccurate information, which is likely to cause setup blocking. Crankback routing would also improve failure recovery in these situations. Recently, Multi-Protocol Lambda Switching has also been discussed [AWDUCHE2]. In a network without wavelength converters, setup requests are likely to be blocked more often than in a conventional MPLS environment because the same wavelength must be allocated at each OXC on an end-to-end explicit path. Furthermore, end-to-end restoration is the only way to recover LSP failures [CHAUDHURI]. This implies that crankback routing would also be useful in an MPLambdaS network. This draft proposes a crankback routing system that is an extension of CR-LDP and RSVP-TE and discusses the identification of blocked links or nodes in an MPLS network. For the sake of clarity, the general discussions in the following sections are restricted to the use of CR-LDP as the label distribution technique. A similar discussion can be applied to TE- RSVP [TE-RSVP] as discussed in Sec.9. 2. Explicit versus implicit rerouting indications There have been problems in service provider networks when "inferring" from indirect information that rerouting is allowed. In the case of using an explicit rerouting indication, rerouting is explicitly authorized and not inferred. In the feedback case [ASHW], or in the current error sub-codes of the Notification message [CR- LDP], one can infer a situation where rerouting can be done, but it also can lead to other problems, which have been experienced in practice, as illustrated below. *--------------------* *-----------------* | | | | | N2 ----------- N3-|--|----- AT--- EO2 | | | | x|--|--x x | | | | | | | x | | | | | x|--|--x x | | | N1 ----------- N4-|--|----- EO1 | | | | | *--------------------* *-----------------* AS-1 AS-2 Figure 1. Example of network topology Experiences of using release messages in TDM-based networks for analogous purposes provide some guidance. One can use a release Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 4] Internet Draft November 2000 message with a cause value (CV) indicating "link congestion" (a CV already standardized in ISUP, for example) to try to then do rerouting at the originating node. However, this sometimes leads to other problems. Figure 1 is used to illustrate five examples based on actual service-provider experiences with respect to crankback (i.e., explicit indication) versus release/CV, or "no bandwidth available" (NBA) (i.e., implicit indication) processing. In this example, N1, N2,N3, and N4 are located in one area (AS-1), and AT, EO1, and EO2 are in another area (AS-2). (1) A connection request from node N1 to EO1 may route to N4 and then find "all circuits busy" (equivalent to NBA). N4 returns a release message to N1 with cause value (CV) 34 (indicates all circuits busy/NBA). Normally a node such as N1 is programmed to block a connection request when receiving CV34, although there is good reason to try to alternate route the connection request via N2 and N3. Some service providers have implemented a technique called route advance (RA), where if a node that is RA capable receives a release message with CV34 then it will try to find an alternate route for the connection request if possible. In this example alternate route N1-N2-N3-EO1 can be tried and may well succeed. (2) Now suppose a connection request goes from N2 to N3 to AT trying to reach EO2 and is blocked at link AT-EO2. Node AT returns a CV34, however N2 will not realize where this blocking occurred based on the CV34, and in this case there is no point in further alternate routing. However with RA it may try to route N2-N1-N4-AT-EO2, but of course this fails again. With crankback, however, this could be resolved, since crankback also indicates where the blocking occurred, and in this scenario a crankback should not be returned. Rather, a CV34 should be returned and should result in blocking the connection request at N2 (the proper response to CV34). (3) However in another case of a connection request from N2 to E02, suppose that link N3-AT is blocked, then in this case N3 should return a crankback (and not CV34) so that N2 can alternate route to N1-N4-AT-EO2, which may well be successful. (4) In a final example, for a connection request from EO1 to N2, EO1 first tries to route the connection request directly to N3. However, node N3 may reject the connection request even if there is bandwidth available on link N3-EO1 (perhaps for priority routing considerations, e.g., reserving bandwidth for high priority connection requests). However when N3 returns CV34 in the release message, EO1 blocks the connection request (a normal response to CV34, given that E01-N4 is already known blocked due to NBA) rather than trying to alternate route through AT-N3-N2, which may well be successful. Had N3 returned a crankback, the EO1 could respond by Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 5] Internet Draft November 2000 trying the alternate route. (5) Granted that with topology exchange, such as OSPF, the ingress LSR could infer the rerouting condition. However, one of the reasons for crankback is to avoid the overhead or available-link-bandwidth (ALB) flooding to more efficiently use local state information to direct alternate routing at the ingress-LSR. The draft [ASH2] shows how event-dependent-routing (EDR) can just use crankback, and not ALB flooding as required by state-dependent-routing (SDR), to decide on the path in the network through "learning models". Reducing the ALB flooding reduces overhead and can lead to large AS size. Therefore, the alternate routing should be indicated based on an explicit indication (as in examples 2 and 5), and it is best to know the following information separately: a) where blockage/congestion occurred (as in examples 2-3), and b) whether alternate routing "should" be attempted even if there is no "blockage" (as in example 4). 3. Crankback routing behaviors due to LSP setup blockage Crankback routing is performed when an LSP setup request is blocked along the path, as described in the following procedures. When a Label Request message is blocked due to unavailable resources, a Notification message with the location identifier of the blockage, should be returned to the LSR initiating the Label Request (ingress LSR) or the area border LSR. This location identifier of the blockage is described in the Rerouting TLV specified in the Section 7. The existence of the Rerouting TLV in the Notification message implies the explicit indication of the alternate rerouting, as discussed in the previous section. This message may optionally include the feedback TLV, as specified in [ASW], to piggy-back the current available bandwidth information on the blocked link. This fed-back information carried by the feedback TLV can be incorporated into subsequent route computations at the ingress LSR or the area border LSR, which greatly helps to reduce the LSP blocking probability and improves the accuracy of the routing by this learning behavior. In a flat network without segmentation, when the ingress LSR receives the Notification message with the Rerouting TLV, it designates an alternate path around the blocked link or node to satisfy QoS constraints using link state information about the area. If an alternate path is found, a new Label Request message is sent over Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 6] Internet Draft November 2000 this path. On the other hand, in a network segmented into areas such as with hierarchical OSPF, the following procedures are used. As explained in Section 6, the crankback routing behavior is indicated in the "Routing Behavior Flag" (RtgFlg) of the LSPID TLV in the Label Request message. If the "Routing Behavior Flag" is set to end-to-end rerouting, the Notification message with the Rerouting TLV is returned all the way back to the ingress LSR, which may then issue a new Label Request message along another path, which is the same as the case of the flat network above. If the "Routing Behavior Flag" is set as segment-based rerouting (hierarchical rerouting), the area border LSR must terminate the Notification message with the Rerouting TLV and then perform alternate routing within the area, where the area border LSR is located at the ingress side of the area, instead of the ingress LSR of the entire network. The ingress LSR or the intermediate area border LSR that computed the alternate path should store the location identifiers of the blockages indicated in the Rerouting TLV in the Notification message, until it receives a corresponding Label Mapping message. Since the crankback routing may happen more than once for establishing an specific LSP, the history table of all experienced blockages for this LSP should be maintained to perform an accurate path computation to detour the blockages. Thus, until the LSP is established completely, it should be better to maintain the history table of the location identifiers of the blockages notified in each Notify message received at the LSR. Therefore, while the crankback routing is being processed for the LSP, if another Notification message with a Rerouting TLV is received again at the ingress LSR or the intermediate area border LSR for this LSP to trigger another crankback routing, the path computation should be done by the ingress LSR or the intermediate area border LSR, based on the previous blocked links or nodes in the history table as well as the current ones in the received Notification message. This history table may be used for the following LSP setups to compute an accurate path computation during some period or may also be cleared each time an LSP is established. For establishing an LSP, the maximum number of crankback rerouting attempts allowed may be limited. This is useful to prevent an endless repetition of crankback routing in certain error conditions or during periods of high congestion. It is also useful for reducing the number of unnecessary retries, which do not improve the performance. When either an ingress LSR or an area border LSR receives more than the maximum number of Notification messages with the Rerouting TLV, it processes this Notification message as an ordinary (non-crankback) Notification message and does not issue any more Label Request messages. When an area border LSR experiences this situation, it Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 7] Internet Draft November 2000 sends back to the ingress LSR in the previous area and specifies the error code "Maximum number of reroutings aborted" in the Status TLV within the Notification message. The ingress LSR, upon receiving this message, is allowed to find another area border LSR by pruning this area border LSR in order to try to find another alternative path. 4. New status codes for rerouting The Status TLV included in the Notification message [CR-LDP] indicates the cause of the problem, such as "Resource unavailable" and "Traffic Parameters Unavailable". For rerouting behaviors, additional status codes are defined for the Status TLV in the Notification message. When an ingress LSR and intermediate area border LSR receiving this Status TLV does not support the rerouting functions explained above, this TLV is allowed to be silently ignored. The code "Alternate rerouting should be attempted" is used for an explicit crankback rerouting indication, such as policy related rerouting, and is specified by an intermediate LSR. The code "Maximum number of reroutings aborted" is used by an intermediate area border LSR to indicate when the number of crankback reroutings goes beyond the predetermined threshold. When the ingress LSR or the intermediate area border LSR receives this code, it tries to find another area border LSR through which it might be able to find another alternative path. Other codes could be added in the future for other possible rerouting behaviors (to be determined). Status Code Type -------------------------------------- ---------- Alternate rerouting should be attempted 0x44000016 Maximum number of reroutings aborted 0x44000017 5. Location Identifiers of Blocked Links or Nodes In order to compute an alternate path by crankback rerouting, it is necessary to identify where blocked links or nodes are. The common identifier of each link or node in an MPLS network should be specified. We specify both protocol-independent and protocol- dependent identifiers. Although a general identifier that is independent of other protocols is preferable, there are a couple of restrictions on its use. In a CR-LDP label request, an explicit route can be represented as a list of ER-Hop TLVs in the ER-TLV. The first ER-Hop TLV is removed when the label request is sent to the next abstract node. Therefore, Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 8] Internet Draft November 2000 we propose that the blockage location be represented using the top ER-Hop TLVs upon a blockage. In the case of a node blockage, the first ER-Hop TLV is returned in the Rerouting TLV in the Notification message. Upon a link blockage, the first and second ER-Hop TLVs are returned, which means that the blockage location is the link between the two nodes indicated by these TLVs. If the abstract node described by the ER-Hop TLV is represented by a strict hop with a prefix length of 32, this indicates one IP address of a single IPv4 node. If this condition is met, the indication of the blockage location by the ER- Hop TLVs allows an ingress or intermediate area border LSR to compute an alternate path to detour just the link/node. If not, the link or node where a setup failure occurred probably will not be identified. Furthermore, if an initial label request is traversed with hop-by-hop routing, the label request message does not have an ER-TLV. These examples imply that ER-Hop TLVs cannot always be used as the location identifier of a blockage. An alternate indicator of such blocked links or nodes is required. In link state protocols such as OSPF [OSPF] and IS-IS [ISIS], each link and node in a network can be uniquely identified. For example, the OSPF protocol uses Router ID as the node identifier and the combination of Router ID and Link ID as the link identifier. If the topology and resource information obtained by OSPF advertisements is used to compute a constraint-based path, the location of a blockage can be represented by such identifiers. We also propose routing- protocol-specific link or node identifiers that can be used for multiple routing protocols. Note that, when the routing-protocol- specific link identifiers are used, the Routing Behavior Flag of LSPID TLV carried in the Label Request message must be set 0010, which implies segment-based rerouting (hierarchical rerouting). In this draft, we specify identifications for OSPFv2 for IPv4, IS-IS for IPv4, OSPF for IPv6, and IS-IS for IPv6. 6. Indication of Rerouting Behavior The LSPID TLV is specified in [CR-LDP] and is a mandatory TLV in the Label Request message. The "Routing Behavior Flag" (RtgFlg) is newly specified within the reserved field of [CR-LDP], as shown below. It is used for indicating the behavior of the crankback rerouting for the Label Request message. Note that "Action Indicator Flag" [CR-LDP][ASH3] in the LSPID TLV may be used for this purpose. The current definition of this ActFlg flag is to indicate the action that should be taken if the LSP already exists on the LSR receiving the message. If the spec [CR-LDP] allows this ActFlg flag to be extended to support an LSP under being established, the specified RtgFlg flag can be merged into the ActFlg flag. Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 9] Internet Draft November 2000 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|0| LSPID-TLV (0x0821) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved |RtgFlg |ActFlg | Local CR-LSP ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Ingress LSR Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ RtgFlg Routing Behavior Flag: A 4-bit field that indicates explicitly the behavior of rerouting, or crankback routing for an LSP under establishment. This RtgFlg can also be used for specifying the behavior of LSP restoration for established LSPs. A set of code points is specified as follows: 0000: indicates no rerouting 0001: indicates end-to-end rerouting 0010: indicates segment-based rerouting (hierarchical rerouting) 7. Additional TLVs In this section, we define additional TLVs included in the Notification message for indicating the location of blocked links or blocked nodes. The defined TLVs can also be used for LSP restoration, where these TLVs are carried in Label Withdraw messages for triggering LSP restoration to the ingress LSR. 7.1. Rerouting TLV When resource allocation for a Label Request message is not allowed, a Notification message is returned. In a network where crankback routing is supported, the Rerouting TLV is included in the Notification message. This message must carry the LSPID TLV of the corresponding CR-LSP. The Status TLV included in the Notification message indicates the cause of the problem. Additional status codes are added to the current defined ones, as described in Sec.4. If LSP restoration is supported, the Rerouting TLV may be included in Label Withdraw messages caused by network failures. In this case, the message must also carry the LSPID TLV of the corresponding CR-LSP, and its Status TLV indicates the cause of the problem. Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 10] Internet Draft November 2000 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|0| Rerouting (0x850) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Location Identifier Components | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Location Identifier Components One or more TLVs of the following are included. Link TLV: See below for the format. Node TLV: See below for the format. 7.2. Link TLV In case of crankback routing, the Link TLV is used to identify a link where a setup blockage is detected. In case of LSP restoration, the Link TLV is included to identify a link where a fault is detected. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|0| Link (0x851) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Protocol Type | Num | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Identifier Components 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ............ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Identifier Components N | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Protocol Type A one-octet unsigned integer containing the unique identifier of a protocol used for QoS routing. The following type numbers are defined. If a constraint-based route is to be calculated with no routing protocols, type 1 should be used. A location is identified using ER-Hop TLVs, independent of protocols. If a type other than 1 is used, or the routing-protocol-specific link identifiers are used, the Routing Behavior Flag of the LSPID TLV carried in the Label Request message must be set 0010, which implies that segment- based rerouting (hierarchical rerouting) is used. 1: CR-LDP (ER-Hop TLVs) 2: OSPFv2 for IPv4 [OSPF] 3: Integrated IS-IS (or IS-IS) for IPv4 [ISIS] Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 11] Internet Draft November 2000 4: OSPF for IPv6 [OSPF6] 5: Integrated IS-IS (or IS-IS) for IPv6 [ISIS6] 128-255: Reserved for private and experimental use. Num: Number of Link Identifier Components A one-octet unsigned integer specifying the number of Link Identifier Components included in the TLV. One or more Link Identifier Components A variable length field containing link identifiers for relevant protocol types. When the type is CR-LDP (1), the following format is used. The first and second ER-Hop TLVs upon setup blockage are included. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | First ER-Hop TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Second ER-Hop TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ When the protocol type is OSPFv2 for IPv4 (2), the following 8-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Router ID The same value as the Router ID used in OSPFv2 for IPv4. Link ID The same value as the Link ID used in OSPFv2 for IPv4. Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 12] Internet Draft November 2000 When the protocol type is OSPF for IPv6 (4), the following 8-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Interface ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Router ID The same value as the Router ID used in OSPF for IPv6. Interface ID The same value as the Interface ID used in OSPF for IPv6. When the protocol type is IS-IS for IPv4 (3), the following 12-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + System ID +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ System ID The same value as System ID used in IS-IS for IPv4 (3). IP Interface Address The IP address assigned to the interface advertised in IS-IS for IPv4 (3). Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 13] Internet Draft November 2000 When the protocol type is IS-IS for IPv6 (5), the following 24-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + System ID +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + | | | + IP Interface Address | | | + | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ System ID The same value as System ID used in IS-IS for IPv6 (5). IP Interface Address The IP address assigned to the interface advertised in IS-IS for IPv6 (5). 7.3. Node TLV In case of crankback rerouting, the Node TLV is used to identify a node or an abstract node where a setup blockage is detected. In the case of LSP restoration, the Node TLV is included to identify a node or an abstract node where a fault is detected. The Node TLV is used to identify a node where a setup blockage or a fault is detected. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |0|0| Node (0x852) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Protocol Type | Num | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Node Identifier Components 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ............ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Node Identifier Components N | Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 14] Internet Draft November 2000 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Protocol Type A one-octet unsigned integer containing the unique identifier of the protocol used for QoS routing. The same value as defined in the Link TLV is used. Num: Number of Node Identifier Components A one-octet unsigned integer specifying the number of Node Identifier Components included in the TLV. One or mode Node Identifier Components A variable length field containing the node identifier for relevant protocol types. When the type is CR-LDP (1), the following format is used. The first ER-Hop TLV upon setup blockage is included. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | First ER-Hop TLV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ When the protocol type is OSPFv2 for IPv4 (2) or OSPF for IPv6 (4), the following 4-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Router ID The same value as the Router ID used in OSPFv2 for IPv4 or in OSPF for IPv6. When the protocol type is IS-IS for IPv4 (3) or IS-IS for IPv6 (5), the following 8-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + System ID +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 15] Internet Draft November 2000 System ID The same value as the System ID used in IS-IS for IPv4 (3) or in IS-IS for IPv6 (5). 8. Routing protocol interactions If the routing-protocol-specific link or node identifiers are used in the Link TLV and Node TLV defined above, CR-LDP signaling software has to have an interface to interact with the routing protocol, OSPFv2 for IPv4, IS-IS for IPv4, OSPF for IPv6, or IS-IS for IPv6. For example, when an intermediate LSR issues a Notification message with the Rerouting TLV toward an ingress LSR, the CR-LDP signaling module of the intermediate LSR should interact with the routing logic to determine the routing-protocol-specific link or node ID where the blockage or fault occurred and carry this information onto the Link TLV and Node TLV inside the Rerouting TLV. The ingress LSR, upon receiving this Notification message, should interact with the routing logic to compute an alternative path by pruning the specified link ID or node ID in the routing database. Although such protocol interactions are required, the procedure of this interaction is out of scope in this document. 9. RSVP-TE considerations Nothing precludes the use of crankback routing mechanism and LSP restoration mechanism with appropriate TLV structures in the RSVP-TE messages. We illustrate a simple case of setting up an LSP on an explicit route from router-A to router-B, in which certain Tspec and Flowspec requirements must be met on each link in the LSP. The steps are as follows [RSVP][RSVP-TE]: (1) router-A (ingress LSR) sends an RSVP Path message to router-B (egress LSR) with a) a TSPEC object that specifies the traffic characteristics of the data flow that the route-A will generate on the LSP b) an EXPLICIT_ROUTE object (ERO) that specifies the explicit route of the LSP (2) along the way accumulate Adspec to describe the network resources available (3) at the router-B (the egress LSR) map these to an Rspec to build a FLOWSPEC object which includes a service class and the TSPEC object Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 16] Internet Draft November 2000 and the RSPEC object. (4) router-B sends the FLOWSPEC object back in a Resv message along the specified explicit route, hop-by-hop in reverse order and reserves the resources link by link Resource allocation failure may occur at two points. (a) On the reverse path, as the Resv is processed, resources are reserved and, if they are not available on the required link or at a specific node, a ResvErr message is returned to the egress node (router-B) indicating "Admission Control failure" [RSVP]. Router-B is allowed to change the Rspec and try again, but in the event that this is not practical or not supported, router-B may choose to take any one of the following actions. - Ignore the situation and allow recovery to happen through Path refresh and refresh timeout [RSVP]. - Send a PathErr towards router-A indicating "Admission Control failure". - Send ResvTear towards router-A to abort the LSP setup. (b) It is also possible to make resource reservations on the forward path as the Path message is processed. This choice is made in many RSVP-TE implementations and is compatible with LSP setup in optical networks [GMPLS]. In this case if resources are not available, a PathErr message is returned to router-A indicating "Admission Control failure". Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 17] Internet Draft November 2000 9.1 Indication of Rerouting Behavior The behavior specified by the RtgFlg described in Section 6 is achieved in RSVP-TE by a change to the LSP_TUNNEL Session Attribute Object. A new RtgFlg field is added in what was previously a reserved area in the object. The object is now specified as follows. class = SESSION_ATTRIBUTE, LSP_TUNNEL C-Type = 7 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Setup Prio | Holding Prio | Flags | Name Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Session Name (NULL padded display string) // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Setup Priority The priority of the session with respect to taking resources, in the range of 0 to 7. The value 0 is the highest priority. The Setup Priority is used in deciding whether this session can preempt another session. Holding Priority The priority of the session with respect to holding resources, in the range of 0 to 7. The value 0 is the highest priority. Holding Priority is used in deciding whether this session can be preempted by another session. Flags 0x01 Local protection desired This flag permits transit routers to use a local repair mechanism which may result in violation of the explicit route object. When a fault is detected on an adjacent downstream link or node, a transit router can reroute traffic for fast service restoration. 0x02 Label recording desired This flag indicates that label information should be included when doing a route record. 0x04 SE Style desired Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 18] Internet Draft November 2000 This flag indicates that the tunnel ingress node may choose to reroute this tunnel without tearing it down. A tunnel egress node SHOULD use the SE Style when responding with a Resv message. 0x08 End-to-end rerouting desired This flag indicates the end-to-end rerouting behavior for an LSP under establishment. This can also be used for specifying the behavior of end-to-end LSP restoration for established LSPs. 0x10 Segment-based rerouting (hierarchical rerouting) desired. This flag indicates the segment-based rerouting (hierarchical rerouting) behavior for an LSP under establishment. This can also be used for specifying the segment-based (hierarchical) LSP restoration for established LSPs. Name Length The length of the display string before padding, in bytes. Session Name A null padded string of characters. 9.2 Rerouting Object We define a new object, the "rerouting Object", analagous to the "Rerouting TLV" defined in Section 7.1, to explicitly indicate that crankback rerouting is allowed at router-A. The new object is added to the definition of the PathErr message specifying it as optional. When a PathErr message carrying the Rerouting object is received at router-A, router-A MAY attempt crankback rerouting. It can choose from the following actions. - Send PathTear to give up - Do nothing to give up (soft state times out) - Pick a new route and send a new Path - Change the resource requirements and send a new Path message The PathErr message is defined as follows: Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 19] Internet Draft November 2000 ::= [ ] [ ] [ ...] [ ] The Rerouting Object is defined as follows: IPv4 REROUTING object: Class = TBD, C-Type = 1 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // (Subobjects) // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Rerouting object may contain one or more subobjects of the following types: Link Rerouting Subobject: See below for the format. Node Rerouting Subobject: See below for the format. 9.3 Link-Rerouting Subobject This subobject is analogous to the Link TLV in Sec.7.2. It may be carried in the Rerouting object in a PathErr message. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Protocol Type | Num | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Identifier Components 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ............ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Identifier Components N | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type The Type indicates the type of contents of the subobject. 1 Link-Rerouting subobject Length The length in bytes of the subobject Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 20] Internet Draft November 2000 Protocol Type A one-octet unsigned integer containing the unique identifier of a protocol used for QoS routing. The following type numbers are defined. If a constraint-based route is to be calculated with no routing protocols, type 1 should be used. A location is identified using the ERO, independent of protocols. If a type other than 1 is used, or the routing-protocol-specific link identifiers are used, the Flag of the SESSION_ATTRIBUTE in the LSP_TUNNEL_IPv4 Session Object carried in the Path message must be set 0x10, which implies that segment-based rerouting (hierarchical rerouting) is used. 1: RSVP-TE for IPv4 (EXPLICIT ROUTE Object) 2: OSPFv2 for IPv4 [OSPF] 3: Integrated IS-IS (or IS-IS) for IPv4 [ISIS] 4: OSPF for IPv6 [OSPF6] 5: Integrated IS-IS (or IS-IS) for IPv6 [ISIS6] 128-255: Reserved for private and experimental use. Num: Number of Link Identifier Components A one-octet unsigned integer specifying the number of Link Identifier Components included in the object. One or more Link Identifier Components A variable length field containing link identifiers for relevant protocol types. When the type is RSVP-TE for IPv4 (1), the following format is used. The first and second ERO hop upon setup blockage are included. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | First ERO hop | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Second ERO hop | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ When the protocol type is OSPFv2 for IPv4 (2), the following 8-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 21] Internet Draft November 2000 Router ID The same value as the Router ID used in OSPFv2 for IPv4. Link ID The same value as the Link ID used in OSPFv2 for IPv4. When the protocol type is OSPF for IPv6 (4), the following 8-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Interface ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Router ID The same value as the Router ID used in OSPF for IPv6. Interface ID The same value as the Interface ID used in OSPF for IPv6. When the protocol type is IS-IS for IPv4 (3), the following 12-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + System ID +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP Interface Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ System ID The same value as System ID used in IS-IS for IPv4 (3). IP Interface Address The IP address assigned to the interface advertised in IS-IS for IPv4 (3). When the protocol type is IS-IS for IPv6 (5), the following 24-octet format is used. Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 22] Internet Draft November 2000 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + System ID +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + | | | + IP Interface Address | | | + | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ System ID The same value as System ID used in IS-IS for IPv6 (5). IP Interface Address The IP address assigned to the interface advertised in IS-IS for IPv6 (5). 9.4 Node-Rerouting Subobject This subobject is analogous to the Node TLV in Sec.7.3. It may be carried in the Rerouting object in a PathErr message. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Protocol Type | Num | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Node Identifier Components 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ............ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Node Identifier Components N | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type The Type indicates the type of contents of the subobject. 2 Node-Rerouting subobject Length The length in bytes of the subobject Protocol Type Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 23] Internet Draft November 2000 A one-octet unsigned integer containing the unique identifier of the protocol used for QoS routing. The same value as defined in the Link-Rerouting subbject is used. Num: Number of Node Identifier Components A one-octet unsigned integer specifying the number of Node Identifier Components included in the object. One or mode Node Identifier Components A variable length field containing the node identifier for relevant protocol types. When the type is RSVP-TE for IPv4 (1), the following format is used. The first ERO Hop upon setup blockage is included. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | First ERO Hop | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ When the protocol type is OSPFv2 for IPv4 (2) or OSPF for IPv6 (4), the following 4-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Router ID The same value as the Router ID used in OSPFv2 for IPv4 or in OSPF for IPv6. When the protocol type is IS-IS for IPv4 (3) or IS-IS for IPv6 (5), the following 8-octet format is used. 0 1 2 3 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + System ID +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ System ID The same value as the System ID used in IS-IS for IPv4 (3) or in Iwata, et al. draft-ietf-mpls-crankback-00.txt [Page 24] Internet Draft November 2000 IS-IS for IPv6 (5). 9.5 Error Values Error values for the Error Code "Admission Control Failure" are defined in [RSVP]. It may be appropriate to define new additional subcodes to provide additional action information. This area is for future study. 9.6 ResvErr Usage As described above, the resource allocation failure for RSVP-TE may occur when the reverse path when the Resv message is being processed. In this case, it is still useful to collect the crankback information and return it to the ingress LSR. This can be achieved by specifying additions to the ResvErr message as follows. ::= [ ] [ ] [ ] [ ...]