RFC 8537

Updates to the Fast Reroute Procedures for Co-routed Associated Bidirectional Label Switched Paths (LSPs)

πŸ“… published February 2019, from ietf

RFC 8537: Updates to the Fast Reroute Procedures for Co-routed Associated Bidirectional Label Switched Paths (LSPs) πŸ’–

Okay bestie, this one is a Standards Track doc from February 2019 (ISSN 2070-1721) πŸŽ€. It's written by R. Gandhi, Ed. (Cisco Systems, Inc.), H. Shah (Ciena), and J. Whittaker (Verizon). It Updates: 4090, 7551, so it's changing the fast reroute rules from RFC 4090 and the reverse-LSP association rules from RFC 7551 πŸ¦‹.

Abstract

Okay so, RSVP association signaling can glue two unidirectional Label Switched Paths (LSPs) into one associated bidirectional LSP πŸ”—. When that bidirectional LSP is co-routed, the reverse LSP takes the exact same path as its forward LSP, just going the other way πŸ”„. This doc updates the fast reroute procedures from RFC 4090 so they work for both single-sided and double-sided provisioned associated bidirectional LSPs ✨. It also updates how two reverse LSPs get associated, which was defined in RFC 7551, so co-routed bidirectional LSPs work properly πŸ’…. The point is that after a failure, co-routed LSPs keep traffic flowing on co-routed paths in both directions 🫢.

Status of This Memo

This is an Internet Standards Track document 🌸.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication πŸŽ€. If you want more info on Internet Standards, check out Section 2 of RFC 7841 πŸ“š.

For the current status, any errata, and how to give feedback, go to https://www.rfc-editor.org/info/rfc8537 πŸ”—.

Copyright (c) 2019 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 (https://trustee.ietf.org/license-info), as they stand on the publication date. Please read these carefully, because they spell out your rights and restrictions for this document πŸ“œ. Code Components pulled out of this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come with no warranty, as described in the Simplified BSD License βš–οΈ.

Table of Contents

   1. Introduction ....................................................3
      1.1. Assumptions and Considerations .............................4
   2. Conventions Used in This Document ...............................4
      2.1. Key Word Definitions .......................................4
      2.2. Terminology ................................................4
           2.2.1. Forward Unidirectional LSPs .........................5
           2.2.2. Reverse Co-routed Unidirectional LSPs ...............5
   3. Problem Statement ...............................................5
      3.1. Fast Reroute Bypass Tunnel Assignment ......................6
      3.2. Node Protection Bypass Tunnels .............................6
      3.3. Bidirectional LSP Association at Midpoints .................7
   4. Signaling Procedure .............................................8
      4.1. Associated Bidirectional LSP Fast Reroute ..................8
           4.1.1. Restoring Co-routing with Node Protection
                  Bypass Tunnels ......................................9
           4.1.2. Unidirectional Link Failures .......................10
           4.1.3. Revertive Behavior after Fast Reroute ..............10
           4.1.4. Bypass Tunnel Provisioning .........................10
           4.1.5. One-to-One Bypass Tunnel ...........................11
      4.2. Bidirectional LSP Association at Midpoints ................11
   5. Compatibility ..................................................11
   6. Security Considerations ........................................12
   7. IANA Considerations ............................................12
   8. References .....................................................12
      8.1. Normative References ......................................12
      8.2. Informative References ....................................13
   Appendix A.  Extended Association ID ..............................14
   Acknowledgments ...................................................16
   Authors' Addresses ................................................16

1. Introduction ✨

Okay so the Resource Reservation Protocol (RSVP) (Extended) ASSOCIATION Object is specified in [RFC6780], and you can use it generically to associate Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering (TE) Label Switched Paths (LSPs) 🧚. [RFC7551] defines how to bind two point-to-point (P2P) unidirectional LSPs [RFC3209] into an associated bidirectional LSP πŸŽ€. There are two models in [RFC7551] for provisioning one of these: single-sided and double-sided πŸ‘‘. In both models, the reverse LSP may or may not be co-routed, meaning it may or may not follow the same path as its forward LSP πŸ€·β€β™€οΈ.

In some packet transport networks, the reverse LSP of a bidirectional LSP needs to follow the same path as its forward LSP [RFC6373] πŸ’…. The MPLS Transport Profile (MPLS-TP) [RFC6370] architecture makes co-routed bidirectional LSPs easier by using GMPLS extensions [RFC3473] to get congruent paths 🌈. The catch is that RSVP association signaling lets you enable co-routed bidirectional LSPs without deploying GMPLS extensions in your existing networks, which is iconic πŸ™Œ. It also lets you use the TE and fast reroute mechanisms your network already has ⭐.

[RFC4090] defines fast reroute extensions for RSVP-TE LSPs, and those also apply to associated bidirectional LSPs πŸ¦‹. [RFC8271] defines fast reroute procedures for GMPLS signaled bidirectional LSPs, like coordinating bypass tunnel assignments in the forward and reverse directions of the LSP πŸ”. The mechanisms in [RFC8271] are also useful for fast rerouting associated bidirectional LSPs πŸ“.

This document updates the fast reroute procedures in [RFC4090] so they support both single-sided and double-sided provisioned associated bidirectional LSPs πŸŽ€. It also updates the procedure in [RFC7551] for associating two reverse LSPs, so co-routed bidirectional LSPs work πŸ’–. With these changes, after fast reroute, co-routed LSPs keep their traffic flowing on co-routed paths in both the forward and reverse directions 🫢.

1.1. Assumptions and Considerations

Here are the assumptions and considerations that apply to this doc πŸ“:

  • The fast reroute procedure for unidirectional LSPs is defined in [RFC4090], and this document doesn't change it πŸ™…β€β™€οΈ.
  • The fast reroute procedure when you use unidirectional bypass tunnels is defined in [RFC4090], and this document doesn't change that either πŸ™…β€β™€οΈ.
  • This document assumes that the fast reroute bypass tunnels protecting associated bidirectional LSPs are also associated bidirectional πŸ”—.
  • This document assumes that the fast reroute bypass tunnels protecting co-routed associated bidirectional LSPs are also co-routed associated bidirectional ✨.
  • The fast reroute procedure for coordinating bypass tunnel assignment in this document may be used for protected associated bidirectional LSPs that aren't co-routed. But it requires that the downstream Point of Local Repair (PLR) and Merge Point (MP) pair of the forward LSP matches the upstream MP and PLR pair of the reverse LSP 🧩.
  • Unless this document says otherwise, the fast reroute procedures in [RFC4090] are used for associated bidirectional LSPs πŸ’œ.

2. Conventions Used in This Document 🌸

2.1. Key Word Definitions

Here's the deal with the key words: "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are interpreted as described in BCP 14 [RFC2119] [RFC8174], but only when they show up in ALL CAPS, exactly like that πŸ” . Otherwise they're just regular words πŸ’….

2.2. Terminology

The reader is assumed to know the terminology defined in [RFC2205], [RFC3209], [RFC4090], [RFC7551], and [RFC8271] πŸ“š.

2.2.1. Forward Unidirectional LSPs

Two reverse unidirectional P2P LSPs get set up in opposite directions between a pair of source and destination nodes, and together they form an associated bidirectional LSP πŸ”. For a single-sided provisioned LSP, the originating LSP carrying a REVERSE_LSP Object [RFC7551] is identified as the forward unidirectional LSP πŸ‘‘. For a double-sided provisioned LSP, the LSP that originates at the higher node address (as source) and terminates at the lower node address (as destination) is identified as the forward unidirectional LSP πŸ¦‹.

2.2.2. Reverse Co-routed Unidirectional LSPs

Two reverse unidirectional P2P LSPs get set up in opposite directions between a pair of source and destination nodes to form an associated bidirectional LSP πŸŽ€. A reverse unidirectional LSP starts on the same node where the forward unidirectional LSP ends, and it ends on the same node where the forward unidirectional LSP starts πŸ”„. A reverse co-routed unidirectional LSP goes along the same path as the forward unidirectional LSP, just in the opposite direction 🫢.

3. Problem Statement πŸ”

Okay so as specified in [RFC7551], in the single-sided provisioning case, the RSVP-TE tunnel is configured on just one endpoint node of the bidirectional LSP 🧚. That endpoint starts an LSP for this tunnel, with the (Extended) ASSOCIATION Object's Association Type set to Single-Sided Associated Bidirectional LSP and the REVERSE_LSP Object inserted in the RSVP Path message πŸ’«. The remote endpoint then creates the matching reverse TE tunnel and signals the reverse LSP in response, using the info from the REVERSE_LSP Object and the other objects in the received RSVP Path message πŸ“¨. Also as specified in [RFC7551], in the double-sided provisioning case, the RSVP-TE tunnel is configured on both endpoint nodes of the bidirectional LSP πŸ‘―β€β™€οΈ. Both the forward and reverse LSPs are initiated independently by the two endpoints, with the (Extended) ASSOCIATION Object's Association Type set to Double-Sided Associated Bidirectional LSP 🌈. For both single-sided and double-sided bidirectional LSPs, the reverse LSP may or may not be congruent (i.e., co-routed) and follow the same path as its forward LSP πŸ€·β€β™€οΈ.

Both single-sided and double-sided associated bidirectional LSPs need solutions to the following issues, so fast reroute can keep co-routing intact after a failure event 🚨.

3.1. Fast Reroute Bypass Tunnel Assignment ✨

okay bestie πŸ’– so if the traffic on a co-routed path is gonna keep flowing after a link or node failure on the protected co-routed LSP path, the midpoint PLR nodes need to assign matching bidirectional bypass tunnels for fast reroute πŸ¦‹ and that is a whole coordination situation. the PLR nodes have to sync up in both the forward and reverse directions whenever a PLR node has more than one bypass tunnel available. main character energy, literally πŸ‘‘

                    <-- Bypass N -->
                +-----+         +-----+
                |  H  +---------+  I  |
                +--+--+         +--+--+
                   |               |
                   |               |
        LSP1 -->   |   LSP1 -->    |   LSP1 -->       LSP1 -->
 +-----+        +--+--+         +--+--+        +-----+        +-----+
 |  A  +--------+  B  +----X----+  C  +--------+  D  +--------+  E  |
 +-----+        +--+--+         +--+--+        +-----+        +-----+
        <-- LSP2   |    <-- LSP2   |   <-- LSP2       <-- LSP2
                   |               |
                   |               |
                +--+--+         +--+--+
                |  F  +---------+  G  |
                +-----+         +-----+
                    <-- Bypass S -->

            Figure 1: Multiple Bidirectional Bypass Tunnels

so as the diagram shows 🌸, there are two bypass tunnels to choose from: bypass tunnel N (on path B-H-I-C) and bypass tunnel S (on path B-F-G-C). the midpoint PLR nodes B and C have to coordinate which bypass tunnel gets picked so that traffic in both directions goes through either bypass tunnel N or bypass tunnel S after the link B-C failure. it's giving teamwork 🫢

3.2. Node Protection Bypass Tunnels

ngl this one is kinda dramatic 😭 when you're using a node protection bypass tunnel with a protected associated bidirectional LSP, after a link failure the forward and reverse LSP traffic can end up on different node protection bypass tunnels in the upstream and downstream directions. not me being shocked πŸ™ˆ

            <-- Bypass N -->
+-----+                        +-----+
|  H  +------------------------+  I  |
+--+--+                        +--+--+
   |      <-- Rerouted-LSP2       |
   |                              |
   |                              |
   |   LSP1 -->       LSP1 -->    |   LSP1 -->       LSP1 -->
+--+--+        +-----+         +--+--+        +-----+        +-----+
|  A  +--------+  B  +----X----+  C  +--------+  D  +--------+  E  |
+-----+        +--+--+         +-----+        +--+--+        +-----+
       <-- LSP2   |    <-- LSP2       <-- LSP2   |   <-- LSP2
                  |                              |
                  |                              |
                  |       Rerouted-LSP1 -->      |
               +--+--+                        +--+--+
               |  F  +------------------------+  G  |
               +-----+                        +-----+
                          <-- Bypass S -->

              Figure 2: Node Protection Bypass Tunnels

as shown in Figure 2 πŸ’…, after the link B-C failure, the downstream PLR node B reroutes the protected forward LSP1 traffic over bypass tunnel S (on path B-F-G-D) to reach downstream MP node D, while the upstream PLR node C reroutes the protected reverse LSP2 traffic over bypass tunnel N (on path C-I-H-A) to reach the upstream MP node A. so the forward and reverse traffic ends up on different bypass tunnels, which can make the co-routed associated bidirectional LSP no longer co-routed πŸ’€. BUT here's the tea: unlike GMPLS LSPs, this path asymmetry does not cause an RSVP soft-state timeout with the associated bidirectional LSPs. the drama is contained πŸ’œ

3.3. Bidirectional LSP Association at Midpoints

okay so in packet transport networks, a restoration LSP gets signaled after a link failure on the protected LSP path, and the protected LSP may or may not be torn down [RFC8131]. in this situation, multiple forward and reverse LSPs of a co-routed associated bidirectional LSP can show up at midpoint nodes with identical (Extended) ASSOCIATION Objects. this creates an ambiguity πŸŒ€ at the midpoint nodes when they try to figure out the correct associated LSP pair for fast reroute bypass assignment (for example, during the recovery phase of the RSVP graceful restart procedure).

       LSP3 -->                       LSP3 -->       LSP3 -->
       LSP1 -->       LSP1 -->        LSP1 -->       LSP1 -->
+-----+        +-----+         +-----+        +-----+        +-----+
|  A  +--------+  B  +----X----+  C  +--------+  D  +--------+  E  |
+-----+        +--+--+         +--+--+        +-----+        +-----+
       <-- LSP2   |    <-- LSP2   |   <-- LSP2       <-- LSP2
       <-- LSP4   |               |   <-- LSP4       <-- LSP4
                  |               |
                  |   LSP3 -->    |
               +--+--+         +--+--+
               |  F  +---------+  G  |
               +-----+         +-----+
                   <-- Bypass S -->
                       <-- LSP4

         Figure 3: Restoration LSP Setup after Link Failure

as shown in Figure 3 🧚, the protected LSPs (LSP1 and LSP2) are an associated LSP pair. similarly, the restoration LSPs (LSP3 and LSP4) are an associated LSP pair. both pairs belong to the same associated bidirectional LSP and carry identical (Extended) ASSOCIATION Objects. in this example, midpoint node D might mistakenly associate LSP1 with the reverse LSP4 instead of the reverse LSP2, because the (Extended) ASSOCIATION Objects match. this may cause the co-routed associated bidirectional LSP to be no longer co-routed after fast reroute. since the bypass assignment has to be coordinated between the forward and reverse LSPs, this can also lead to undesired bypass tunnel assignments πŸ™ƒ


4. Signaling Procedure ✨

4.1. Associated Bidirectional LSP Fast Reroute

okay so for both single-sided and double-sided associated bidirectional LSPs πŸŽ€, the fast reroute procedure specified in [RFC4090] is used. on top of that, the mechanisms defined in [RFC8271] get used like this:

  • the BYPASS_ASSIGNMENT IPv4 subobject (value 38) and IPv6 subobject (value 39) defined in [RFC8271] coordinate bypass tunnel assignment between the PLR nodes in both the forward and reverse directions (see Figure 1). the BYPASS_ASSIGNMENT and Node-ID address [RFC4561] subobjects MUST be added by the downstream PLR node in the RECORD_ROUTE Object (RRO) of the RSVP Path message of the forward LSP, to indicate the local bypass tunnel assignment using the procedure defined in [RFC8271]. the upstream node then uses the bypass assignment information (namely, bypass tunnel source address, destination address, and Tunnel ID) from the received RSVP Path message of the protected forward LSP to find the associated bypass tunnel in the reverse direction. the upstream PLR node MUST NOT add the BYPASS_ASSIGNMENT subobject in the RRO of the RSVP Path message of the reverse LSP. πŸ™…β€β™€οΈ
  • the downstream PLR node initiates the bypass tunnel assignment for the forward LSP. the upstream PLR (forward-direction LSP MP) node reflects the associated bypass tunnel assignment for the reverse-direction LSP. the upstream PLR node MUST NOT initiate the bypass tunnel assignment. 🫠
  • if the indicated forward bypass tunnel or the associated reverse bypass tunnel is not found, the upstream PLR SHOULD send a Notify message [RFC3473] with Error Code "FRR Bypass Assignment Error" (value 44) and Sub-code "Bypass Tunnel Not Found" (value 1) [RFC8271] to the downstream PLR. 🚨
  • if the bypass tunnel cannot be used as described in Section 4.5.3 of [RFC8271], the upstream PLR SHOULD send a Notify message [RFC3473] with Error Code "FRR Bypass Assignment Error" (value 44) and Sub-code "Bypass Assignment Cannot Be Used" (value 0) [RFC8271] to the downstream PLR. 🚨
  • after a link or node failure, the PLR nodes in both the forward and reverse directions trigger fast reroute independently using the procedures defined in [RFC4090]. they send the forward and protected reverse LSP modified RSVP Path messages and traffic over the bypass tunnel. the RSVP Resv signaling of the protected forward and reverse LSPs follows the same procedure as defined in [RFC4090] and is not modified by this document. ✨

4.1.1. Restoring Co-routing with Node Protection Bypass Tunnels

after fast reroute, the downstream MP node takes on the role of upstream PLR and reroutes the reverse LSP RSVP Path messages and traffic over the bypass tunnel that the forward LSP RSVP Path messages and traffic are received on. this procedure is defined as "restoring co-routing" in [RFC8271] πŸ”. it makes sure both forward and reverse LSP signaling and traffic flow on the same bidirectional bypass tunnel after fast reroute.

as shown in Figure 2 🎯, when you use a node protection bypass tunnel with protected co-routed LSPs, the forward and reverse paths can end up asymmetric after a link failure [RFC8271]. to restore co-routing, the downstream MP node D (acting as an upstream PLR) MUST trigger the procedure to restore co-routing and reroute the protected reverse LSP2 RSVP Path messages and traffic over bypass tunnel S (on path D-G-F-B) to the upstream MP node B. it does this upon receiving the protected forward LSP modified RSVP Path messages and traffic over bypass tunnel S (on path D-G-F-B) from node B. the upstream PLR node C stops receiving the RSVP Path messages and traffic for the reverse LSP2 from node D (which results in an RSVP soft-state timeout), and it stops sending the RSVP Path messages for the reverse LSP2 over bypass tunnel N (on path C-I-H-A) to node A. πŸ§šβ€β™€οΈ

unidirectional link failures can make co-routed associated bidirectional LSPs no longer co-routed after fast reroute, with both link protection and node protection bypass tunnels. BUT πŸ™Œ the unidirectional link failures in the upstream and/or downstream directions don't cause an RSVP soft-state timeout with the associated bidirectional LSPs, because the upstream and downstream PLRs trigger fast reroute independently. the asymmetry of forward and reverse LSP paths caused by a unidirectional link failure in the downstream direction can be corrected by using the procedure to restore co-routing specified in Section 4.1.1. πŸ”§

4.1.3. Revertive Behavior after Fast Reroute

when revertive behavior is desired for a protected LSP after the link is restored, the procedure defined in Section 6.5.2 of [RFC4090] is followed. here's how it goes 🌈

  • the downstream PLR node starts sending the RSVP Path messages and traffic flow of the protected forward LSP over the restored link, and stops sending them over the bypass tunnel [RFC4090]. πŸ”™
  • the upstream PLR node (when the protected LSP is present) also starts sending the RSVP Path messages and traffic flow of the protected reverse LSPs over the restored link, and stops sending them over the bypass tunnel [RFC4090]. πŸ”™
  • for node protection bypass tunnels (see Figure 2), after restoring co-routing, the upstream PLR node D SHOULD start sending RSVP Path messages and traffic for the reverse LSP over the original link (C-D) when it receives the unmodified RSVP Path messages and traffic for the protected forward LSP over it, and stops sending them over bypass tunnel S (on path D-G-F-B). 🌸

4.1.4. Bypass Tunnel Provisioning πŸŽ€

Okay so fast reroute bidirectional bypass tunnels can be either single-sided or double-sided associated tunnels, and both flavors need the same setup vibe πŸ’…. For both kinds, the fast reroute assignment policies have to be configured on the downstream PLR nodes of the protected LSPs, the ones that kick off the bypass tunnel assignments. For single-sided associated bypass tunnels, those nodes are also the originating endpoints of the signaling, so it's giving double duty 🧚

4.1.5. One-to-One Bypass Tunnel πŸ¦‹

The fast reroute signaling procedure in this document works for both facility backup (the one from Section 3.2 of [RFC4090]) and one-to-one backup (the one from Section 3.1 of [RFC4090]) 🌸. Now here's the tea: as Section 4.5.2 of [RFC8271] explains, with one-to-one backup, if the associated bidirectional bypass tunnel is already being used at the upstream PLR, that PLR SHOULD send a Notify message [RFC3473] to the downstream PLR, carrying Error Code "FRR Bypass Assignment Error" (value 44) and Sub-code "One-to-One Bypass Already in Use" (value 2) πŸ™ˆ

4.2. Bidirectional LSP Association at Midpoints ✨

Bestie, this part is about making sure the LSPs get matched up unambiguously at a midpoint node (check Figure 3). So the endpoint node MUST signal the Extended ASSOCIATION Object and add a unique Extended Association ID for every associated forward and reverse LSP pair that makes up the bidirectional LSP πŸ”₯. An endpoint node MAY set that Extended Association ID to a value formatted like the structure in Appendix A, which is a cute option πŸ“

  • For single-sided provisioned bidirectional LSPs [RFC7551], the originating endpoint signals the Extended ASSOCIATION Object with a unique Extended Association ID. The remote endpoint then copies the contents of that received Extended ASSOCIATION Object, Extended Association ID included, into the Extended ASSOCIATION Object of the reverse LSP's RSVP Path message πŸ’–
  • For double-sided provisioned bidirectional LSPs [RFC7551], both endpoints need to make sure the bidirectional LSP has a unique Extended ASSOCIATION Object for each forward and reverse LSP pair, by picking appropriate unique Extended Association IDs and signaling them. A controller can be used to provision a unique Extended Association ID on both endpoints 🫢 How they pick unique IDs is outside the scope of this document, so that's a whole other story πŸ“–

5. Compatibility 🌈

This one's the glow-up section ✨. This document updates the fast reroute procedures for associated bidirectional LSPs defined in [RFC4090], and the procedures for associating bidirectional LSPs defined in [RFC7551]. The procedures use the signaling messages defined in [RFC8271], and no new signaling messages are defined here, so no new drama πŸŽ€ The procedures make sure that, for co-routed LSPs, traffic flows on co-routed paths in both the forward and reverse directions after fast reroute πŸ‘‘

Operators who want this function SHOULD make sure it's supported on all the nodes on the LSP path πŸ’… Otherwise, nodes that don't support it can push traffic onto asymmetric paths in the forward and reverse directions of the associated bidirectional LSPs after fast reroute. That's a total mess, so please don't skip this 😭

6. Security Considerations πŸ”

πŸ’€ Okay, this section is serious, so read it carefully. This document updates the signaling mechanisms defined in [RFC4090] and [RFC7551]. It does not add any security considerations beyond the ones already covered in [RFC4090], [RFC7551], [RFC8271], and the MPLS/GMPLS security framework [RFC5920]. Those are the ones to check.

7. IANA Considerations 🧚

Quick and easy: this document has no IANA actions πŸ’œ

8. References πŸ“š

8.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <https://www.rfc-editor.org/info/rfc2119>.

[RFC2205]  Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
           Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
           Functional Specification", RFC 2205, DOI 10.17487/RFC2205,
           September 1997, <https://www.rfc-editor.org/info/rfc2205>.

[RFC4090]  Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast
           Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090,
           DOI 10.17487/RFC4090, May 2005,
           <https://www.rfc-editor.org/info/rfc4090>.

[RFC4561]  Vasseur, J., Ed., Ali, Z., and S. Sivabalan, "Definition
           of a Record Route Object (RRO) Node-Id Sub-Object",
           RFC 4561, DOI 10.17487/RFC4561, June 2006,
           <https://www.rfc-editor.org/info/rfc4561>.

[RFC6780]  Berger, L., Le Faucheur, F., and A. Narayanan, "RSVP
           ASSOCIATION Object Extensions", RFC 6780,
           DOI 10.17487/RFC6780, October 2012,
           <https://www.rfc-editor.org/info/rfc6780>.

[RFC7551]  Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE
           Extensions for Associated Bidirectional Label Switched
           Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015,
           <https://www.rfc-editor.org/info/rfc7551>.

[RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
           2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
           May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC8271]  Taillon, M., Saad, T., Ed., Gandhi, R., Ed., Ali, Z., and
           M. Bhatia, "Updates to the Resource Reservation Protocol
           for Fast Reroute of Traffic Engineering GMPLS Label
           Switched Paths (LSPs)", RFC 8271, DOI 10.17487/RFC8271,
           October 2017, <https://www.rfc-editor.org/info/rfc8271>.

8.2. Informative References

[RFC3209]  Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
           and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
           Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
           <https://www.rfc-editor.org/info/rfc3209>.

[RFC3473]  Berger, L., Ed., "Generalized Multi-Protocol Label
           Switching (GMPLS) Signaling Resource ReserVation Protocol-
           Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
           DOI 10.17487/RFC3473, January 2003,
           <https://www.rfc-editor.org/info/rfc3473>.

[RFC5920]  Fang, L., Ed., "Security Framework for MPLS and GMPLS
           Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010,
           <https://www.rfc-editor.org/info/rfc5920>.

[RFC6370]  Bocci, M., Swallow, G., and E. Gray, "MPLS Transport
           Profile (MPLS-TP) Identifiers", RFC 6370,
           DOI 10.17487/RFC6370, September 2011,
           <https://www.rfc-editor.org/info/rfc6370>.

[RFC6373]  Andersson, L., Ed., Berger, L., Ed., Fang, L., Ed., Bitar,
           N., Ed., and E. Gray, Ed., "MPLS Transport Profile (MPLS-
           TP) Control Plane Framework", RFC 6373,
           DOI 10.17487/RFC6373, September 2011,
           <https://www.rfc-editor.org/info/rfc6373>.

[RFC8131]  Zhang, X., Zheng, H., Ed., Gandhi, R., Ed., Ali, Z., and
           P. Brzozowski, "RSVP-TE Signaling Procedure for End-to-End
           GMPLS Restoration and Resource Sharing", RFC 8131,
           DOI 10.17487/RFC8131, March 2017,
           <https://www.rfc-editor.org/info/rfc8131>.

Appendix A. Extended Association ID πŸ¦„

The Extended Association ID inside the Extended ASSOCIATION Object [RFC6780] can be set to a value formatted like the example structure below. That way, it uniquely identifies the associated forward and reverse LSP pairs of an associated bidirectional LSP πŸ’–

Here's the IPv4 Extended Association ID format example:

   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    IPv4 LSP Source Address                    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |           Reserved            |            LSP ID             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  :                                                               :
  :                      Variable Length ID                       :
  :                                                               :
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Figure 4: IPv4 Extended Association ID Format Example

IPv4 LSP Source Address: the IPv4 source address of the forward LSP [RFC3209] 🌸

LSP ID: the 16-bit LSP ID of the forward LSP [RFC3209] 🧚

Variable Length ID: the variable length Extended Association ID [RFC6780], inserted by the endpoint node of the associated bidirectional LSP [RFC7551] πŸŽ€

Here's the IPv6 Extended Association ID format example:

   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  +                                                               +
  |                    IPv6 LSP Source Address                    |
  +                                                               +
  |                          (16 bytes)                           |
  +                                                               +
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |           Reserved            |            LSP ID             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  :                                                               :
  :                      Variable Length ID                       :
  :                                                               :
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Figure 5: IPv6 Extended Association ID Format Example

LSP Source Address: the IPv6 source address of the forward LSP [RFC3209] πŸ’œ

LSP ID: the 16-bit LSP ID of the forward LSP [RFC3209] ✨

Variable Length ID: the variable length Extended Association ID [RFC6780], inserted by the endpoint node of the associated bidirectional LSP [RFC7551] πŸ¦‹

πŸ™ˆ In both the IPv4 and IPv6 examples, the Reserved flags MUST be set to 0 on transmission. Don't skip this one, it's a must-do! πŸ’…

Acknowledgments 🫢

Huge shoutout to the authors of [RFC8271]! This document uses the signaling mechanisms defined in that one, so they really did the heavy lifting πŸ‘‘ The authors would also like to thank Vishnu Pavan Beeram, Daniele Ceccarelli, Deborah Brungard, Adam Roach, and Benjamin Kaduk for reviewing this document and leaving such valuable comments 🌈

Authors' Addresses πŸ’Œ

Rakesh Gandhi (editor)
Cisco Systems, Inc.
Canada

Email: rgandhi@cisco.com


Himanshu Shah
Ciena

Email: hshah@ciena.com


Jeremy Whittaker
Verizon

Email: jeremy.whittaker@verizon.com
πŸ“¦ where this page comes from