CCAMPInternet Working GroupJLJ.-L. Le Roux Internet DraftJYJ.-Y. Mazeas Proposed Category: Standard Track France TelecomJPExpires: January 2006 J.-P. VasseurSamiS. Boutros Cisco SystemsCategory: Standard Track Expires:D. Papadimitriou Alcatel July 2005February 2005Procedure to handle (G)MPLS-TE control plane saturationdraft-leroux-ccamp-ctrl-saturation-00.txtdraft-leroux-ccamp-ctrl-saturation-01.txt Status of this Memo By submitting this Internet-Draft,I certifyeach author represents that any applicable patent or other IPR claims of whichI amhe or she is aware have beendisclosed,or will be disclosed, and any of whichI becomehe or she becomes aware will be disclosed, in accordance withRFC 3668.Section 6 of BCP 79. 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. Abstract This document defines extensions to RSVP-TE (Resource Reservation Protocol-Traffic Engineering) and IGP (IS-IS and OSPF), in order tosignalnotify about control plane resources saturation, when an LSR runs out of control plane resources available to supporta newany additional LSP. Such notification may serve as trigger for the impacted Head-end LSR to take appropriate actions. Table of Contents 1.Introduction................................................3Terminology.................................................2 2.Terminology.................................................4Introduction................................................3 3. RSVP-TE Saturation..........................................4 4. Signallingextensions.......................................5extensions.......................................4 4.1. New RSVP ErrorCode.........................................5Code.........................................4 4.2. Mode of operations..........................................5 4.2.1. Procedures for a saturatedLSR (Transit or Tail)............5LSR..............................5 4.2.2. Procedures for a Head-End LSR...............................5 5. Routingextensions..........................................6extensions..........................................5 5.1. Encoding of the SaturationTLV..............................6TLV..............................5 5.2. Elements ofprocedure.......................................7procedure.......................................6 5.2.1. Procedures for a Saturated LSR..............................7 5.2.2. Procedures for a Head-End LSR...............................7 6.Security Considerations.....................................7Inter-Provider considerations...............................7 7.Acknowledgements............................................7Security Considerations.....................................8 8.Intellectual Property Statement.............................7 8.1. IPR Disclosure Acknowledgement..............................8Acknowledgements............................................8 9.References.................................................8References..................................................8 9.1. Normative references........................................8 9.2. Informativereferences......................................9references......................................8 10. Authors' Address:...........................................9 11. Intellectual Property Statement.............................9 Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119. 1. Terminology LSR: Label Switching Router TE-LSP: MPLS Traffic Engineering Label Switched Path Head-End LSR: Head of a TE-LSP Tail-End LSR: Tail of a TE-LSP PSB: RSVP Path State Block RSB: RSVP Reservation State Block RSVP-TE Saturation: State of an LSR that cannot accept any new TE-LSP due to configured thresholds, or control plane limitations ASBR: Autonomous System Border Router 2. Introduction Many service providers have deployed RSVP-TE [RFC3209] to setup TE- LSPs and achieve Traffic Engineering objectives. In some circumstances, MPLS-TE deployments in large networks may require maintaining a high number of TE-LSPs on transitLSRs and thus instantiatingLSRs, which may lead to the instantiation of a high number of RSVPstates,states andconsuminghence consume a large amount of LSR control plane resourcessuch as memory and CPU.(e.g. memory, CPU). Control plane capacities of an LSR(such as CPU or memory)are of course notinfinite,infinite and there may be some circumstances whereby an LSR may run out of a specific control plane resource such as memory or CPU available for the RSVP process; such resource shortage may lead to the inability for the LSR tosupport signalling of new LSPs.handle additional TE-LSPs. For instance, the LSR has no longer enough memory to instantiate a new RSVP state block (PSB, RSB[RFC2209]), and thus cannot maintain a new LSP. In such situation, the saturated LSR should properly reject the LSP setup, and notify the head-end LSR about its saturation. Note that it[RFC2209]). Furthermore, there mayalsobeuseful to allowcircumstances whereby the operator may want tolimit (by configuration)limit, by configuration, the maximum number of RSVP-TE sessions that can be accepted and maintained by anLSR,LSR at the Ingress, Transit orEgress. This allows controlling the impact of RSVP-TE on other control plane entities.Egress position. This document defines a particular RSVP-TE statefor an RSVP node, called(referred to as the "Saturated"state. An RSVP node is said saturated, when itstate) whereby the LSR cannotsupport anhandle any additionalTE-LSP,TE- LSP, either because the maximum number ofRSVP sessions configured by the operatorTE-LSPs allowed is reached or because there is no longer enough control plane resources (CPU, memory,à) allocated to the RSVPprocess,process to instantiate and maintain a new session state block. There may be cases, particularly in large scale RSVP-TE deployments, where an LSR receives a Path message for a new LSP, while it issaturated. Thisunder the Saturated state. In such situation, the LSR should simply reject the LSP setup, and notify the head-end LSR of its control plane saturation state. For that purpose, this document specifies: -aA RSVP-TE extension allowing a saturatedRSVP nodeLSR to reject any new LSP and notify (using a new Error code and a set of sub-codes carried in a Path Error message) the head-end LSR about itssaturation.saturation; - IGP extensions (that complement the RSVP-TE extension) in order for a LSR to advertise its current saturationstatestatus (saturated or not). This allows other head-end LSRs avoiding the set up of new TE LSP through saturated nodes and alsoallows reoptimizing TE-LSPs whendiscovering that a given node is no longer saturated.2. Terminology LSR: Label Switching Router TE-LSP: MPLS Traffic Engineering Label Switched Path RSVP-TE Saturation: State of an LSR that cannot accept any new TE-LSP dueThese routing and signalling notifications are complementary. They may serve as trigger for the Head-End LSRs tocontrol plane limitationstake appropriate actions. 3. RSVP-TE SaturationSomeA RSVP-TEdeployment scenarios may generate a highengine is usually designed such that the maximum number ofRSVP sessions on transit LSRs, and consume a significant amount of resources (such as memory and CPU). Depending on LSR control plane capacities, there may be cases where an LSR is not able to support any new TELSPsfor a specific amountit supports equals the total number oftime. Of course, note that such state may be transitional and this document proposes mechanismLSP with a resource allocation corresponding tosignal thatthenode is no longermin LSP bandwidth (set e.g. to 2 Mbps) configured insuch state by meansthe context ofrouting extensions.its admission control mechanism. However, soft-provisioning techniques (e.g. LSP established with no bandwidth reservation) are challenging this rule of thumb since the number of supported LSPs needs now to take not only data plane resources allocation into account but also control plane resources. An RSVP node enters thesaturatedSaturated state when it runs out ofaspecific control plane resource such as the memory or CPU (globally or for the RSVP process) orsome other constraints are reached (for the sake of illustration, this can be theabove a pre-configured threshold or when a pre- configured maximum number oftransitingLSPswhich can influence the rerouting time in case of failure with some network recovery techniques). Aallowed is reached. Criteria to trigger such saturated state are local to the LSRMUST rejectand outside of thesetupscope ofa new TE-LSP, and SHOULD maintain already established TE-LSPs.this document. Note that it is recommended to introduce some hysteresis for saturation state transition,in orderso as to avoid oscillations. For instancein caseif the number of TE-LSPs isbounded,bounded (by configuration), two thresholdscouldshould be configured:The upper-threshold:An upper-threshold and a lower- threshold with upper-threshold > lower-threshold. An LSR enters the saturated state when the number of TE-LSPs reaches theupper-threshold. The lower-threshold: An LSRupper- threshold and leaves the saturated state whenthe number of TE-LSPsit goesbelowdown thelower-threshold.lower- threshold. 4. Signalling extensions 4.1. New RSVP Error Code This document specifies a new Error Code (suggested value to be confirmed by IANA) for the RSVP ERROR_SPEC object: 26 Control Plane Saturation The following defines error values sub-codes for the new Control Plane Saturation Error Code: 1 Saturation unspecified 2 Memory saturation 3 CPU saturation 4 Max number of LSPs reached 100-255ProprietaryReserved Procedures are detailed in section 4.2 below. 4.2. Mode of operations 4.2.1. Procedures for a saturated LSR(Transit or Tail)On receipt of a Path message for a new LSP, a saturated LSR compliant with this documentMUSTSHOULD reject the LSP setup and send back aPath ErrorPathErr Message with the Path_State_Removed flag set in the ERROR_SPEC object, with the Error Code "Saturation" and optionallya sub- codean Error sub-code value mentioning the reasons for the saturation. TheError nodeaddress carried within the ERROR_SPEC objectMUSTSHOULD be set to the TE routerid.id of the saturated node. The IF_ID ERROR_SPEC object MAY be used in case saturation can be determined as coming from a given adjacency. To avoid inability of the saturated node to generate PathErr messages, it is expected that the locally pre-configured threshold on control plane resources is such that it allows generation of such messages. 4.2.2. Procedures for a Head-End LSR On receipt of aPath ErrorPathErr message with the Error Code "Saturation" and with thePSRPath_State_Removed flag not set, the Head-End LSR SHOULD send aPath TearPathTear message for the rejected LSP.The head-end LSR should trigger the computation of a new path avoiding the saturated node, and it may also choose to avoid the saturated node for future LSPs. An implementation may decide to signal some of its TE LSPs along the saturated node upon the expiration of some timer. The head-end should not reroute already established LSPs passing through the saturated node.5. Routing extensions It isobviouslydesirable to augment the signaling extensions by specific link state routingnotifications ([ISIS-TE], [OSPF-TE])([ISIS] and [OSPF]) extensions that would allow an LSR to advertise the state of its RSVP process (saturated or not). This information could then be taken into account by all LSRs (and not only LSRs on the path of a rejected LSPs), in order to avoid a saturated node when computing the path of a new TE-LSP, and also to automatically discover when a node is no longersaturated and potentially trigger appropriate TE-LSP reoptimisation.saturated. A new TLV is defined for OSPF and ISIS, named the ôSaturation TLVö, to be included in the Router Information LSA for OSPF [OSPF-CAP] and in the CAPABILITY TLV for ISIS [ISIS-CAP].ThisThe TLVcontains a setstructure consists of32a fixed 8 bitflags.flags field. Currentlyonly one flag is4 flags are defined, to indicate if the LSR is saturated ornot.not as well as the reasons for the saturation. 5.1. Encoding of the Saturation TLV This document defines a newTLV,TLV (named the SaturationTLV,TLV) allowing an LSR advertising if its control plane is saturated or not, where,-With- With OSPF, the Saturation TLV is a TLV of the Router Information LSA defined in[OSPF-CAP], and its[OSPF-CAP]. The TLV type isTBD. -WithTBD (To be assigned by IANA). - With ISIS, the Saturation TLV is a sub-TLV of the ISIS CAPABILITY TLV defined in[ISIS-CAP], and its[ISIS-CAP]. The sub-TLV type isTBD.TBD (To be assigned by IANA). All relevant generic TLV encoding rules (including TLV format, padding and alignment, as well as IEEE floating point format encoding) defined in [OSPF] and [ISIS] are applicable to this new sub-TLV. The Saturation TLV is a series of328 bit flags. Its format is illustrated below: 0 1 2 30 1 2 34 5 6 78 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |S| Reserved+-+-+-+-+-+-+-+-+ |S|C|M|N| Res |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Only one bit is+-+-+-+-+-+-+-+-+ Four bits are currently defined: -S bit: When set this indicates that the node is saturated and cannot support any newTE-LSPs.TE-LSP. When not set this indicates that the node is not saturated and can support new TE-LSPs.New-C bit: When set this indicates that the saturation is due to CPU overload. -M bit: When set this indicates that the saturation is due to memory shortage . -N bit: When set this indicates that the maximum number of LSPs allowed is reached. C, M or N are not exclusive. They can be set only if S is set. If S is set and other flags are cleared this means that the reason for the saturation is unspecified. Note that new flags may be defined in thefuture to indicatefuture. The absence of thereasons forsaturation TLV means that thesaturation.saturation status is unspecified. 5.2. Elements of procedure A routerMUSTSHOULD originate a new IS-IS LSP/OSPF LSA whenever a saturation state change occurs or whenever required by the regular IS-IS/OSPF procedure (LSP/LSA refresh).A saturated nodeIt is expected that a proper implementation will support dampening algorithms so as to dampen IGP flooding, thus preserving the IGP scalability. The flooding scope of this saturation state advertisement SHOULD be limited to a single IGP area. This implies that this TLV SHOULD be carried within an OSPF type 10 Router Information LSAs or within an ISIS CAPIBILITY TLV with the S flag cleared. Note that a saturation satus change MAY trigger CSPF computation, but MUST not trigger normal SPF computation. 5.2.1. Procedures for a Saturated LSR Once an LSR enters the saturation state, the conditions of which are implementation specific, it SHOULD originate LSPs/LSAs with the S bit of the Saturation TLV set and potentially with one or more "reason" bits set.Note thatOnce a LSR leaves the saturation state, the conditions of which are implementation specific, it SHOULD originate LSPs/LSAs with all bits of the Saturation TLV cleared. 5.2.2. Procedures for a Head-End LSR A head-end LSR computing a path of a TE-LSP should avoid saturated nodes. Note also that when a head-end LSR detects that a node on the path of an already established TE-LSP, becomes saturated, it should not reroute this TE-LSP.Once an LSR leaves the saturation state, the condition of which are implementation specific, it MUST originate LSPs/LSAs with the S bit of the Saturation TLV cleared. An implementation may decide to originate an LSP/LSP with the S bit of its Saturation TLV cleared for a configurable amount of time and then decide not to include the saturation TLV in its LSA/LSP.Note that when a head-End LSR detects that an LSR is no longer saturated it may re-use this LSR for establishing new TE LSPs, and may try to reoptimize some TE-LSPs, should the path along theno-longerno- longer saturatednodeLSR beoptimal.desirable. This procedure may be delayed, potentially using some LSP setup jittering between head-end LSRs, in order to avoid a signalling storm that may again saturate the node, that is, to avoid TE-LSP routing oscillations. Note that the procedures discussed above are local implementation issues. 6. Inter-Provider considerations For confidentially purpose in an inter-provider MPLS-TE context (see [INTER-AS-REQ]), a provider may desire to hide to other providers, a saturation that could occur in its own network. For that purpose an ASBR may modify the RSVP error code/sub-code before forwarding the PathErr message to an upstream provider. For instance, if a provider wants to hide the reason for the saturation, it should update the error sub-code to 1. If the provider wants to entirely hide the saturation, it may change the error code. Note that this is a local policy-based decision. 7. Security Considerations This document does not raise any new security issue.7.8. Acknowledgements We would like to thank ThomasMorin andMorin, BrunoDecraene for the really useful comments and suggestions, andDecraene, Adrian Farrel, Arthi Ayyangar, Muthurajah Sivabalan, Rudy Figaro, David Ward, Reshad Rahman, and Stefano Previdi fortheir input and contributions to the IGP extensions. 8. Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please addresstheinformation to the IETF at ietf- ipr@ietf.org. 8.1. IPR Disclosure Acknowledgement By submitting this Internet-Draft, I certify that any applicable patent or other IPR claims of which I am aware have been disclosed, or will be disclosed,really useful comments andany of which I become aware will be disclosed, in accordance with RFC 3668.suggestions. 9. References 9.1. Normative references [RFC] Bradner, S., 'Key words for use in RFCs to indicate requirements levels', RFC 2119, March 1997.[RFC3667] Bradner, S., 'IETF Rights in Contributions', BCP 78, RFC 3667, February 2004. [RFC3668][BCP79] Bradner, S., Ed., 'Intellectual Property Rights in IETF Technology', BCP 79, RFC3668, February 2004. [TE-REQ] Awduche et. al., 'Requirements for Traffic Engineering over MPLS', RFC2702.3979, March 2005. [RSVP] Braden, R., Zhang, L., Berson, S., Herzog, S. and S. Jamin, 'Resource ReSerVation Protocol (RSVP) -- Version 1, Functional Specification', RFC 2205, September 1997. [RFC2209] Braden, R., Zhang, L., 'Resource ReSerVation Protocol (RSVP) -- Version 1 Message Processing Rules', RFC2209, September 1997. [RSVP-TE] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V. and G. Swallow, 'RSVP-TE: Extensions to RSVP for LSP Tunnels', RFC 3209, December 2001.[RFC2209] Braden, R., Zhang, L., 'Resource ReSerVation Protocol (RSVP) -- Version 1 Message Processing Rules', RFC2209, September 1997.[ISIS] "Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol " ISO 10589.[ISIS-TE] Smit, H., Li, T., 'Intermediate System to Intermediate System (IS-IS)Extensions for Traffic Engineering (TE)', RFC3784, June 2004[OSPF] Moy, J., "OSPF Version 2", RFC 2328, April 1998.[OSPF-TE] Katz, D., Kompella, K., Yeung, D., 'Traffic Engineering (TE) Extensions to OSPF Version 2', RFC3630, September 2003 9.2. Informative references[ISIS-CAP] Vasseur, J.P., Aggarwal, R., Shen, N. et al. "IS-IS extensions for advertising router information",draft- vasseur-isis-caps-02.txt,draft-ietf-isis- caps-03.txt, work in progress. [OSPF-CAP] Lindem, A., Shen, N., Aggarwal, R., Shaffer, S., Vasseur, J.P., "Extensions to OSPF for advertising Optional Router Capabilities",draft-ietf-ospf-cap-05.txt,draft-ietf-ospf-cap-07.txt, work in progress. 9.2. Informative references [INTER-AS-REQ] Zhang, R., Vasseur, J.P., "MPLS Inter-AS Traffic Engineering requirements", draft-ietf-tewg-interas-mpls-te-req- 09.txt, work in progress 10. Authors' Address: Jean-Louis Le Roux France Telecom 2, avenue Pierre-Marzin 22307 Lannion Cedex France jeanlouis.leroux@francetelecom.com Jean-Yves Mazeas France Telecom 2, avenue Pierre-Marzin 22307 Lannion Cedex France jeanyves.mazeas@francetelecom.com Jean-Philippe Vasseur CISCO Systems, Inc. 300 Beaver Brook Boxborough, MA 01719 USA Email: jpv@cisco.com Sami Boutros Cisco Systems 2000 Innovation Drive, Kanata, Ontario, Canada K2K 3E8 sboutros@cisco.comFull CopyrightDimitri Papadimitriou Alcatel Francis Wellensplein 1, B-2018 Antwerpen, Belgium Email: dimitri.papdimitriou@alcatel.be 11. Intellectual Property StatementCopyright (C)TheInternet Society (2005). ThisIETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this documentis subjector the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on therights, licenses and restrictions containedprocedures with respect to rights in RFC documents can be found in BCP78,78 andexcept as set forth therein,BCP 79. Copies of IPR disclosures made to theauthors retain all their rights.IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.