RFC 6689 INFORMATIONAL ROUTING · GMPLS · RECOVERY

RSVP ASSOCIATION Usage: Usage of the RSVP ASSOCIATION Object

How the link between a working path and its recovery path is read in GMPLS recovery signalling.

On rfc-editor.org ↗
PUBLISHED
July 2012
AUTHORS
L. Berger
STREAM
IETF
OBJECT LOCATION
Path messages
ASSOCIATION TYPE VALUES
Recovery (1) and Resource Sharing (2)
SIGNALLING CASES
3
OBJECT CLASS TYPES
C-Type 1 (IPv4) and C-Type 2 (IPv6)
CASE 3 CHECK
Performed only at the egress
DOI
10.17487/RFC6689

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                         L. Berger
Request for Comments: 6689                                          LabN
Category: Informational                                        July 2012
ISSN: 2070-1721


                  Usage of the RSVP ASSOCIATION Object

Abstract

   The Resource Reservation Protocol (RSVP) ASSOCIATION object is
   defined in the context of GMPLS-controlled label switched paths
   (LSPs).  In this context, the object is used to associate recovery
   LSPs with the LSP they are protecting.  This document reviews how the
   association is to be provided in the context of GMPLS recovery.  No
   new procedures or mechanisms are defined by this document, and it is
   strictly informative in nature.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any
   errata, and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6689.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................2
   2. Background ......................................................2
      2.1. LSP Association ............................................3
      2.2. End-to-End Recovery LSP Association ........................4
      2.3. Segment Recovery LSP Association ...........................7
      2.4. Resource Sharing LSP Association ...........................8
   3. Association of GMPLS Recovery LSPs ..............................8
   4. Security Considerations ........................................10
   5. Acknowledgments ................................................10
   6. References .....................................................10
      6.1. Normative References ......................................10
      6.2. Informative References ....................................11

1.  Introduction

   End-to-end and segment recovery are defined for GMPLS-controlled
   label switched paths (LSPs) in [RFC4872] and [RFC4873], respectively.
   Both definitions use the ASSOCIATION object to associate recovery
   LSPs with the LSP they are protecting.  This document provides
   additional narrative on how such associations are to be identified.
   This document does not define any new procedures or mechanisms and is
   strictly informative in nature.

   It may not be immediately obvious to the informed reader why this
   document is necessary; however, questions were repeatedly raised in
   the Common Control and Measurement Plane (CCAMP) working group on the
   proper interpretation of the ASSOCIATION object in the context of
   end-to-end and segment recovery, and the working group agreed that
   this document should be produced in order to close the matter.  This
   document formalizes the explanation provided in an e-mail to the
   working group authored by Adrian Farrel, see [AF-EMAIL].  This
   document in no way modifies the normative definitions of end-to-end
   and segment recovery, see [RFC4872] or [RFC4873].

2.  Background

   This section reviews the definition of LSP association in the
   contexts of end-to-end and segment recovery as defined in [RFC4872]
   and [RFC4873].  This section merely reiterates what has been defined;
   if differences exist between this text and [RFC4872] or [RFC4873],
   the earlier RFCs provide the authoritative text.

2.1.  LSP Association

   [RFC4872] introduces the concept and mechanisms to support the
   association of one LSP to another LSP across different RSVP - Traffic
   Engineering (RSVP-TE) sessions.  Such association is enabled via the
   introduction of the ASSOCIATION object.  The ASSOCIATION object is
   defined in Section 16 of [RFC4872].  It is explicitly defined as
   having both general application and specific use within the context
   of recovery.  End-to-end recovery usage is defined in [RFC4872] and
   is covered in Section 2.2 of this document.  Segment recovery usage
   is defined in [RFC4873] and is covered in Section 2.3 of this
   document.  Resource sharing type LSP association is also defined in
   [RFC4873].  While strictly speaking, such association is beyond the
   scope of this document, it is covered in Section 2.4 of this document
   for completeness.  The remainder of this section covers generic usage
   of the ASSOCIATION object.

   In general, LSP association using the ASSOCIATION object can take
   place based on the values carried in the ASSOCIATION object.  This
   means that association between LSPs can take place independently of
   and across different sessions.  This is a significant enhancement
   from the association of LSPs that is possible in base MPLS [RFC3209]
   and GMPLS [RFC3473].

   When using the ASSOCIATION object, LSP association is always
   initiated by an upstream node that inserts appropriate ASSOCIATION
   objects in the Path message of LSPs that are to be associated.
   Downstream nodes then correlate LSPs based on received ASSOCIATION
   objects.  Multiple types of LSP association are supported by the
   ASSOCIATION object, and downstream correlation is made based on the
   type.

   [RFC4872] defines Class Types (C-Types) 1 and 2 of the ASSOCIATION
   object.  Both objects have essentially the same semantics, only
   differing in the type of address carried (IPv4 and IPv6).  The
   defined objects carry multiple fields.  The fields, taken together,
   enable the identification of which LSPs are in association with one
   another.  The [RFC4872]-defined fields are:

      o  Association Type:
         This field identifies the usage, or application, of the
         ASSOCIATION object.  The currently defined values are
         "Recovery" [RFC4872] and "Resource Sharing" [RFC4873].  This
         field also scopes the interpretation of the object.  In other
         words, the type field is included when matching LSPs (i.e., the
         type fields must match), and the way associations are
         identified may be type dependent.

      o  Association Source:
         This field is used to provide global scope (within the address
         space) to the identified association.  There are no specific
         rules in the general case for which an address should be used
         by a node creating an ASSOCIATION object beyond that the
         address is "associated to the node that originated the
         association", see [RFC4872].

      o  Association ID:
         This field provides an "identifier" that further scopes an
         association.  Again, this field is combined with the other
         ASSOCIATION object fields to support identification of
         associated LSPs.  The generic definition does not provide any
         specific rules on how matching is to be done, so such rules are
         governed by the Association Type.  Note that the definition
         permits the association of an arbitrary number of LSPs.

   As defined, the ASSOCIATION object may only be carried in a Path
   message, so LSP association takes place based on the Path state.  The
   definition permits one or more objects to be present.  The support
   for multiple objects enables an LSP to be associated with other LSPs
   in more than one way at a time.  For example, an LSP may carry one
   ASSOCIATION object to associate the LSP with another LSP for
   end-to-end recovery, and at the same time carry a second ASSOCIATION
   object to associate the LSP with another LSP for segment recovery,
   and at the same time carry a third ASSOCIATION object to associate
   the LSP with yet another LSP for resource sharing.

2.2.  End-to-End Recovery LSP Association

   The association of LSPs in support of end-to-end LSP recovery is
   defined in Section 16.2 of [RFC4872].  There are also several
   additional related conformance statements (i.e., use of [RFC2119]
   defined key words) in Sections 7.3, 8.3, 9.3, and 11.1 of [RFC4872].
   When analyzing the definition, as with any Standards Track RFC, it is
   critical to note and differentiate which statements are made using
   [RFC2119] defined key words, which relate to conformance, and which
   statements are made without such key words, and are thereby only
   informative in nature.

   As defined in Section 16.2, end-to-end recovery-related LSP
   association may take place in two distinct forms:

      a. Between multiple (one or more) working LSPs and a single shared
         (associated) recovery LSP.  This form essentially matches the
         shared 1:N (N >= 1) recovery type described in the other
         sections of [RFC4872].

      b. Between a single working LSP and multiple (one or more)
         recovery LSPs.  This form essentially matches all other
         recovery types described in [RFC4872].

   Both forms share the same Association Type (Recovery) and the same
   Association Source (the working LSP's tunnel sender address).  They
   also share the same definition of the Association ID, which is
   (quoting [RFC4872]):

      The Association ID MUST be set to the LSP ID of the LSP being
      protected by this LSP or the LSP protecting this LSP.  If unknown,
      this value is set to its own signaled LSP_ID value (default).
      Also, the value of the Association ID MAY change during the
      lifetime of the LSP.

   The interpretation of the above is fairly straightforward.  The
   Association ID carries one of three values:
      -  The LSP ID of the LSP being protected.
      -  The LSP ID of the protection LSP.
      -  In the case where the matching LSP is not yet known (i.e.,
         initiated), the LSP ID value of the LSP itself.

   The text also explicitly allows for changing the Association ID
   during the lifetime of an LSP.  However, this is only an option, and
   is neither required (i.e., "MUST") nor recommended (i.e., "SHOULD").
   It should be noted that [RFC4872] does not describe when such a
   change should be initiated or the procedures for executing such a
   change.  Clearly, care needs to be taken when changing the
   Association ID to ensure that the old association is not lost during
   the transition to a new association.

   The text does not preclude, and it is therefore assumed, that one or
   more ASSOCIATION objects may also be added to an LSP that was
   originated without any ASSOCIATION objects.  Again, this is a case
   that is not explicitly discussed in [RFC4872].

   From the above, this means that the following combinations may occur:

      Case 1. When the ASSOCIATION object of the LSP being protected is
              initialized before the ASSOCIATION objects of any recovery
              LSPs are initialized, the Association ID in the LSP being
              protected and any recovery LSPs will carry the same value,
              and this value will be the LSP ID value of the LSP being
              protected.

      Case 2. When the ASSOCIATION object of a recovery LSP is
              initialized before the ASSOCIATION object of any protected
              LSP is initialized, the Association ID in the recovery LSP
              and any LSPs being protected by that LSP will carry the
              same value, and this value will be the LSP ID value of the
              recovery LSP.

      Case 3. When the ASSOCIATION objects of both the LSP being
              protected and the recovery LSP are concurrently
              initialized, the value of the Association ID carried in
              the LSP being protected is the LSP ID value of the
              recovery LSP, and the value of the Association ID carried
              in the recovery LSP is the LSP ID value of the LSP being
              protected.  As this case can only be applied to LSPs with
              matching tunnel sender addresses, the scope of this case
              is limited to end-to-end recovery.  Note that this is
              implicit in [RFC4872], as its scope is limited to end-to-
              end recovery.

   In practical terms, Case 2 will only occur when using the shared 1:N
   (N >= 1) end-to-end recovery type, and Case 1 will occur with all
   other end-to-end recovery types.  Case 3 is allowed, and it is
   subject to interpretation as to how often it will occur.  Some
   believe that this will be the common case and, furthermore, that
   working and recovery LSPs will often first be initiated without any
   ASSOCIATION objects, and then Case 3 objects will be added once the
   LSPs are established.  Others believe that Case 3 will rarely, if
   ever occur.  Such perspectives have little impact on
   interoperability, as an [RFC4872]-compliant implementation needs to
   properly handle (identify associations for) all three cases.

   It is important to note that Section 16.2 of [RFC4872] provides no
   further requirements on how or when the Association ID value is to be
   selected.  The other sections of the document do provide further
   narrative and three additional requirements.  In general, the
   narrative highlights Case 3 identified above but does not preclude
   the other cases.  The three additional requirements are, by [RFC4872]
   section number:

     o Section 7.3 -- "The Association ID MUST be set by default to the
       LSP ID of the protected LSP corresponding to N = 1."

       When considering this statement together with the three cases
       enumerated above, it can be seen that this statement clarifies
       which LSP ID value should be used when a single shared protection
       LSP is established simultaneously with Case 3, or after Case 2,
       and with more than one LSP to be protected.

     o Section 8.3 -- "Secondary protecting LSPs are signaled by setting
       in the new PROTECTION object the S bit and the P bit to 1, and in
       the ASSOCIATION object, the Association ID to the associated
       primary working LSP_ID, which MUST be known before signaling of
       the secondary LSP."

       This requirement clarifies that when using the "Rerouting without
       Extra-Traffic" type of recovery, it is required to follow either
       Case 1 or 3, but not 2, as enumerated above.

     o Section 9.3 -- "Secondary protecting LSPs are signaled by setting
       in the new PROTECTION object the S bit and the P bit to 1, and in
       the ASSOCIATION object, the Association ID to the associated
       primary working LSP_ID, which MUST be known before signaling of
       the secondary LSP."

       This requirement clarifies that when using the "Shared-Mesh
       Restoration" type of recovery, it is required to follow either
       Case 1 or 3, but not 2, as enumerated above.

     o Section 11.1 -- "In both cases, the Association ID of the
       ASSOCIATION object MUST be set to the LSP ID value of the
       signaled LSP."

       This requirement clarifies that when using the "LSP Rerouting"
       type of recovery, it is required to follow either Case 1 or 3,
       but not 2, as enumerated above.

2.3.  Segment Recovery LSP Association

   GMPLS segment recovery is defined in [RFC4873].  Segment recovery
   reuses the LSP association mechanisms, including the Association Type
   field value, defined in [RFC4872].  The primary text to this effect
   in [RFC4873] is:

      3.2.1.  Recovery Type Processing

      Recovery type processing procedures are the same as those defined
      in [RFC4872], but processing and identification occur with respect
      to segment recovery LSPs.  Note that this means that multiple
      ASSOCIATION objects of type recovery may be present on an LSP.

   This statement means that Case 2, as enumerated above, is to be
   followed; furthermore, the Association Source is set to the tunnel
   sender address of the segment recovery LSPs.  The explicit exclusion
   of Case 3 is not listed, as its non-applicability is considered
   obvious to the informed reader.  (Perhaps having this exclusion
   explicitly identified would have obviated the need for this
   document.)

2.4.  Resource Sharing LSP Association

   Section 3.2.2 of [RFC4873] defines an additional type of LSP
   association that is used for "Resource Sharing".  Resource sharing
   enables the sharing of resources across LSPs with different SESSION
   objects.  Without this object, only sharing across LSPs with a shared
   SESSION object is possible, see [RFC3209].

   Resource sharing is indicated using a new Association Type value.  As
   the Association Type field value is not the same as what is used in
   recovery type LSP association, the semantics used for the association
   of LSPs using an ASSOCIATION object containing the new type differs
   from recovery type LSP association.

   Section 3.2.2 of [RFC4873] states the following rules for the
   construction of an ASSOCIATION object in support of resource sharing
   type LSP association:

      o  The Association Type value is set to "Resource Sharing".

      o  Association Source is set to the originating node's router
         address.

      o  The Association ID is set to a value that uniquely identifies
         the set of LSPs to be associated.

         The setting of the Association ID value to the working LSP's
         LSP ID value is mentioned, but using the "MAY" key word.  Per
         [RFC2119], this translates to the use of the LSP ID value as
         being completely optional and that the choice of Association ID
         is truly up to the originating node.

   Additionally, the identical ASSOCIATION object is used for all LSPs
   that should be associated using Resource Sharing.  This differs from
   recovery type LSP association where it is possible for the LSPs to
   carry different Association ID fields and still be associated (see
   Case 3 in Section 2.2).

3.  Association of GMPLS Recovery LSPs

   The previous section reviews the construction of an ASSOCIATION
   object, including the selection of the value used in the Association
   ID field, as defined in [RFC4872] and [RFC4873].  This section
   reviews how a downstream receiver identifies that one LSP is
   associated within another LSP based on ASSOCIATION objects.  Note
   that this section in no way modifies the normative definitions of
   end-to-end and segment recovery, see [RFC4872] or [RFC4873].

   As the ASSOCIATION object is only carried in Path messages, such
   identification only takes place based on Path state.  In order to
   support the identification of the recovery type association between
   LSPs, a downstream receiver needs to be able to handle all three
   cases identified in Section 2.2.  Cases 1 and 2 are simple, as the
   associated LSPs will carry the identical ASSOCIATION object.  This is
   also always true for resource sharing type LSP association, see
   Section 2.4.  Case 3 is more complicated, as it is possible for the
   LSPs to carry different Association ID fields and still be
   associated.  The receiver also needs to allow for changes in the set
   of ASSOCIATION objects included in an LSP.

   Based on the [RFC4872] and [RFC4873] definitions related to the
   ASSOCIATION object, the following behavior can be followed to ensure
   that a receiver always properly identifies the association between
   LSPs:

      o  Covering Cases 1 and 2 and resource sharing type LSP
         association:

         For ASSOCIATION objects with the Association Type field values
         of "Recovery" (1) and "Resource Sharing" (2), the association
         between LSPs is identified by comparing all fields of each of
         the ASSOCIATION objects carried in the Path messages associated
         with each LSP.  An association is deemed to exist when the same
         values are carried in all fields of an ASSOCIATION object
         carried in each LSP's Path message.  As more than one
         association may exist (e.g., in support of different
         association types or end-to-end and segment recovery), all
         carried ASSOCIATION objects need to be examined.

      o  Covering Case 3:

         Any ASSOCIATION object with the Association Type field value of
         "Recovery" (1) that does not yield an association in the prior
         comparison needs to be checked to see if a Case 3 association
         is indicated. As this case only applies to end-to-end recovery,
         the first step is to locate any other LSPs with the identical
         SESSION object fields and the identical tunnel sender address
         fields as the LSP carrying the ASSOCIATION object.  If such
         LSPs exist, a case 3 association is identified by comparing the
         value of the Association ID field with the LSP ID field of the
         other LSP.  If the values are identical, then an end-to-end
         recovery association exists.  As this behavior only applies to
         end-to-end recovery, this check need only be performed at the
         egress.

   No additional behavior is needed in order to support changes in the
   set of ASSOCIATION objects included in an LSP, as long as the change
   represents either a new association or a change in identifiers made
   as described in Section 2.2.

4.  Security Considerations

   This document reviews procedures defined in [RFC4872] and [RFC4873]
   and does not define any new procedures.  As such, no new security
   considerations are introduced in this document.

5.  Acknowledgments

   This document formalizes the explanation provided in an e-mail to the
   working group authored by Adrian Farrel, see [AF-EMAIL].  This
   document was written in response to questions raised in the CCAMP
   working group by Nic Neate <nhn@dataconnection.com>.  Valuable
   comments and input were also received from Dimitri Papadimitriou,
   Francois Le Faucheur, and Ashok Narayanan.

6.  References

6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4872]  Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou,
              Ed., "RSVP-TE Extensions in Support of End-to-End
              Generalized Multi-Protocol Label Switching (GMPLS)
              Recovery", RFC 4872, May 2007.  Lang, J., Rekhter, Y., and
              Papadimitriou, D., "RSVP-TE

   [RFC4873]  Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel,
              "GMPLS Segment Recovery", RFC 4873, May 2007.

   [RFC3209]  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.

   [RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
              Switching (GMPLS) Signaling Resource ReserVation
              Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC
              3473, January 2003.

6.2.  Informative References

   [AF-EMAIL] Farrel, A. "Re: Clearing up your misunderstanding of the
              Association ID", CCAMP working group mailing list,
              http://www.ietf.org/mail-archive/web/ccamp/
              current/msg00644.html, November 18, 2008.

Author's Address

   Lou Berger
   LabN Consulting, L.L.C.
   Phone: +1-301-468-9228
   EMail: lberger@labn.net

ISO Plain Language

On this page
PROBLEMThe ASSOCIATION object that links a recovery path to the path it protects had been read in different ways, and the working group kept asking which reading was right.
MECHANISMThe RFC walks through the three fields of the object, then sorts the possible signalling orders into three cases and shows how a downstream router matches them. For end-to-end recovery it shows which cases each recovery type allows.
STATUSThe document settles the argument without changing anything. It defines no new procedures, and where it differs from the two earlier RFCs it describes, those earlier documents remain authoritative.

§1Why This Document Exists

End-to-end recovery and segment recovery are defined for GMPLS-controlled label switched paths (LSPs) in RFC 4872 and RFC 4873. Both use the ASSOCIATION object to tie a recovery LSP to the LSP it protects. This RFC adds narrative on how those associations are to be recognised.

The reason for the document is history rather than design. Questions were repeatedly raised in the IETF's Common Control and Measurement Plane (CCAMP) working group about the right way to interpret the ASSOCIATION object in the context of end-to-end and segment recovery, and the group agreed that a document should be produced to close the matter. The text formalises an explanation that Adrian Farrel had given to the working group by email.

Nothing here changes the rules. The document defines no new procedures or mechanisms and is strictly informative in nature; where its wording and the text of RFC 4872 or RFC 4873 differ, the earlier documents provide the authoritative text.

When a network operator sets up a spare path to take over from a failed one, the two paths have to be linked so the routers know which is which. This RFC explains how that link is read and settles an argument about it. It changes nothing.

§2.1The Link Object and Its Three Fields

Association works through the values carried in the ASSOCIATION object. That means association can happen independently of, and across, different RSVP-TE sessions, which is a significant step beyond what base MPLS or GMPLS allow. Association is always started by an upstream node, which inserts ASSOCIATION objects into the Path message of the LSPs that are to be associated; downstream nodes then correlate the LSPs they receive. The object has two class types, C-Type 1 and C-Type 2, with the same semantics and differing only in whether the address carried is IPv4 or IPv6.

Three fields do the work. The Association Type names the application and scopes the interpretation of the object; the values defined are Recovery and Resource Sharing, and the type has to match when two LSPs are matched. The Association Source gives the association a scope within the address space, and in the general case is the address of the node that originated the association. The Association ID is an identifier that further scopes the association; the rules for matching come from the Association Type, and the definition permits an arbitrary number of LSPs to be associated.

The object may only be carried in a Path message, so association happens based on Path state. More than one object may be present, which lets one LSP be associated in several ways at once: with one LSP for end-to-end recovery, with another for segment recovery, and with a third for resource sharing.

The link between a working path and its spare is carried in a small object that travels with the path's setup message. It has three parts: what kind of link it is, who created it, and an identifier. Routers downstream match these up to decide which paths belong together.

THE THREE FIELDS OF THE ASSOCIATION OBJECT
  • Association TypeNames the application and scopes how the object is read. Recovery and Resource Sharing are defined.
  • Association SourceThe address of the node that originated the association, giving the association its scope.
  • Association IDAn identifier that narrows the association further. The rules for matching come from the type.

§2.2End-to-End Recovery and Three Set-Up Orders

End-to-end recovery association takes one of two forms. Either several working LSPs share one recovery LSP, which matches the shared 1:N recovery type with N of one or more, or one working LSP has several recovery LSPs, which matches the other recovery types. Both forms use the same Association Type, Recovery, and the same Association Source: the tunnel sender address of the working LSP.

The Association ID may hold one of three values: the LSP ID of the LSP being protected, the LSP ID of the LSP protecting it, or, when the matching LSP is not yet known, the LSP ID of the LSP itself. The RFC then works through three signalling cases. In Case 1 the protected LSP is set up first, so every LSP in the group carries the protected LSP's LSP ID. In Case 2 the recovery LSP is set up first, so every LSP in the group carries the recovery LSP's LSP ID. In Case 3 both are set up at the same time, so the protected LSP carries the recovery LSP's LSP ID and the recovery LSP carries the protected LSP's LSP ID.

Case 3 is limited to end-to-end recovery, because it only applies to LSPs whose tunnel sender addresses match. Requirements elsewhere in RFC 4872 narrow the choice further. For the rerouting without extra traffic and shared mesh restoration types, and for the LSP rerouting type, the Association ID must be set to the primary working LSP's LSP ID, and that identifier must be known before the secondary LSP is signalled, so those types require Case 1 or Case 3 and exclude Case 2.

When a working path and its spare are set up, the identifier in the link can point at either one. The RFC sorts this into three cases depending on which path was created first, then shows which cases are allowed for each kind of recovery.

THE THREE END-TO-END RECOVERY CASES
CaseOrder of set-upIdentifier in the protected LSPIdentifier in the recovery LSP
Case 1Protected LSP firstProtected LSP's LSP IDProtected LSP's LSP ID
Case 2Recovery LSP firstRecovery LSP's LSP IDRecovery LSP's LSP ID
Case 3Both at the same timeRecovery LSP's LSP IDProtected LSP's LSP ID

§2.3Segment Recovery and Resource Sharing

Segment recovery reuses the association mechanism and the Association Type value from RFC 4872, but the processing and identification happen with respect to segment recovery LSPs. That means Case 2 is followed, the Association Source is the tunnel sender address of the segment recovery LSPs, and Case 3 does not apply. The RFC notes that the exclusion of Case 3 is not written out explicitly in RFC 4873, and suggests that spelling it out would have removed the need for this document.

Resource sharing, also defined in RFC 4873, is a different use of the same object. It lets LSPs with different SESSION objects share resources, which is not possible without the object. Because the Association Type is different, the semantics differ too. The type is set to Resource Sharing, the Association Source is set to the originating node's router address, and the Association ID is set to a value that uniquely identifies the set of LSPs to be associated. Setting that identifier to the working LSP's LSP ID is mentioned but only as a MAY, so the choice of identifier is left to the node that originates the association. All the LSPs in the group carry the identical ASSOCIATION object, which differs from recovery association, where the LSPs may carry different identifiers and still be associated.

Protecting part of a path rather than the whole path works differently: the spare path's address is the one recorded, and the third case is not allowed. Sharing the same fibre between paths is different again, and there all the paths carry exactly the same link object.

§3How a Router Works Out That Two Paths Belong Together

Because the object only travels in Path messages, a receiver identifies associations from Path state alone, and it has to handle all three cases. Cases 1 and 2 are simple: the associated LSPs carry an identical ASSOCIATION object, and the same is true for resource sharing. A receiver compares all the fields of each ASSOCIATION object carried in the Path messages of each LSP, and treats the LSPs as associated when the same values appear in all fields of an object in each Path message. Since more than one association may exist, every carried object has to be examined.

Case 3 needs more work. For an ASSOCIATION object with the Association Type value Recovery that did not produce a match in that first comparison, the receiver looks for other LSPs with the same SESSION object fields and the same tunnel sender address fields as the LSP carrying the object. If such LSPs exist, it compares the Association ID with the LSP ID field of the other LSP, and identical values mean an end-to-end recovery association. Since this check only applies to end-to-end recovery, it need only be performed at the egress.

No extra behaviour is needed to support changes in the set of ASSOCIATION objects carried by an LSP, as long as a change is either a new association or a change of identifiers as described earlier.

A router that receives the setup message has to work out which paths belong together. It first compares the link objects field by field, which handles most cases. When that fails, it looks for paths with the same session and sender and checks whether the identifiers point at each other.

§4Security and the Limits of This Document

The document reviews procedures that are defined in RFC 4872 and RFC 4873 and defines no new procedures of its own, so it introduces no new security considerations.

The same point about scope runs through the whole RFC. It is informative, it defines no new mechanism, and where its wording and the text of RFC 4872 or RFC 4873 differ, the earlier documents provide the authoritative text. The RFC also records that it was written in response to questions raised in the CCAMP working group by Nic Neate, and thanks Dimitri Papadimitriou, Francois Le Faucheur and Ashok Narayanan for comments and input.

The RFC adds no security rules of its own, because it adds no rules at all. It is a clarification, and where it and the two earlier documents disagree, the earlier ones win.

§7References