RFC 6510

Resource Reservation Protocol (RSVP) Message Formats for Label Switched Path (LSP) Attributes Objects

πŸ“… published February 2012, from ietf

RFC 6510: Resource Reservation Protocol (RSVP) Message Formats for Label Switched Path (LSP) Attributes Objects πŸŽ€

Bestie, okay, this is RFC 6510 and it's giving pure networking glam πŸ’–βœ¨

The title block tea β˜•: This one is written by L. Berger (LabN) and G. Swallow (Cisco) 🫢. It's a Standards Track document, ISSN 2070-1721, dated February 2012. It updates [RFC4875] and [RFC5420]. The title block doesn't list anything it obsoletes, so that part is a no-show πŸ™ˆ.


Abstract ✨

Okay so MPLS LSPs (Multiprotocol Label Switching Label Switched Paths) set up with the RSVP-TE extensions can be signaled with a bunch of LSP-specific attributes 🧚. Those attributes can ride along in both Path and Resv messages πŸ’œ. This doc spells out how the LSP attributes get carried in RSVP Path and Resv messages using Routing Backus-Naur Form, and it tidies up the related Resv message formats πŸ¦‹. It updates [RFC4875] and [RFC5420] πŸ’….

Status of This Memo

Real talk, this is an Internet Standards Track document πŸ”₯. It's a product of the Internet Engineering Task Force (IETF), so it represents the consensus of the IETF community 🌈. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG) πŸ‘‘. If you want the deets on Internet Standards, check Section 2 of RFC 5741 🌸.

For the current status, any errata, and how to give feedback, go to http://www.rfc-editor.org/info/rfc6510 πŸ’Œ.

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) as they stood on the publication date πŸ“œ. Please read those carefully, because they're your rights and restrictions for this doc πŸ™ˆ. Code Components pulled out of this document must include the Simplified BSD License text described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License πŸ’–.

Table of Contents

1. Introduction ....................................................2
   1.1. Conventions Used in This Document ..........................3
2. Path Messages ...................................................3
   2.1. Path Message Format ........................................3
3. Resv Messages ...................................................4
   3.1. Resv Message Format -- Per LSP Operational Status ..........5
   3.2. Resv Message Format -- Per S2L Operational Status ..........6
        3.2.1. Compatibility .......................................6
4. Security Considerations .........................................6
5. Acknowledgments .................................................7
6. References ......................................................7
   6.1. Normative References .......................................7
   6.2. Informative References .....................................7

1. Introduction 🌷

Okay so signaling for MPLS and GMPLS point-to-point LSPs (Multiprotocol Label Switching and Generalized MPLS) is defined in [RFC3209] and [RFC3473] πŸ¦‹. Then [RFC4875] comes in and defines the signaling for point-to-multipoint (P2MP) Traffic Engineering (TE) LSPs πŸ’….

Two LSP Attributes objects are defined in [RFC5420] πŸŽ€. In a Path message they give extra info about how an LSP should be set up, and in a Resv message they tell you how an LSP has been established 🧚. The object definition has a narrative description of the related message formats (see Section 9 of [RFC5420]) πŸ“–. But here's the thing: it doesn't include the Routing Backus-Naur Form (BNF) from [RFC5511], which is what people usually use to define how RSVP messages get built πŸ™ˆ. That gap raised an open question about how the LSP Attributes objects should be processed in Resv messages of P2MP LSPs (defined in [RFC4875]) πŸ€”.

This document gives you the BNF for Path and Resv messages that carry the LSP Attributes object πŸ’–. It makes clear how the objects get carried for all LSP types ✨. Both the Path and Resv BNF are included, just for completeness 🫢.

This doc shows the RSVP message formats as modified by [RFC5420] 🌸. It modifies formats defined in [RFC3209], [RFC3473], and [RFC4875] πŸ’œ. For the RSVP syntax, see [RFC5511] πŸ“š. Unmodified formats are not listed, so don't go looking for them πŸ™…. An example of where the modified formats apply is in [RFC6511] 🌈.

1.1. 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 [RFC2119] πŸ’….

2. Path Messages πŸ›€οΈ

This section updates [RFC4875] πŸ¦‹. Path message formatting is unmodified from the narrative in Section 9 of [RFC5420], and it goes like this πŸ’Œ:

  • The LSP_ATTRIBUTES object and the LSP_REQUIRED_ATTRIBUTES object MAY be carried in a Path message πŸŽ€.
  • The order of objects in RSVP-TE messages is recommended, but implementations must be capable of receiving the objects in any meaningful order πŸ’–.
  • On a Path message, the LSP_ATTRIBUTES and LSP_REQUIRED_ATTRIBUTES objects are RECOMMENDED to go immediately after the SESSION_ATTRIBUTE object if it's there. Otherwise they go immediately after the LABEL_REQUEST object 🧚.
  • If both the LSP_ATTRIBUTES object and the LSP_REQUIRED_ATTRIBUTES object are present, the LSP_REQUIRED_ATTRIBUTES object is RECOMMENDED to go first πŸ‘‘.
  • LSRs MUST be prepared to receive these objects in any order and in any position within a Path message πŸ”₯. Later instances of these objects within a Path message SHOULD be ignored and MUST be forwarded unchanged 🫢.

2.1. Path Message Format πŸŽ€

This section shows the Path message format as modified by [RFC5420]. Unmodified formats are not listed 🌸.

<Path Message> ::=     <Common Header> [ <INTEGRITY> ]
                       [ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>] ...]
                       [ <MESSAGE_ID> ]
                       <SESSION> <RSVP_HOP>
                       <TIME_VALUES>
                       [ <EXPLICIT_ROUTE> ]
                       <LABEL_REQUEST>
                       [ <PROTECTION> ]
                       [ <LABEL_SET> ... ]
                       [ <SESSION_ATTRIBUTE> ]
                       [ <LSP_REQUIRED_ATTRIBUTES> ... ]
                       [ <LSP_ATTRIBUTES> ... ]
                       [ <NOTIFY_REQUEST> ]
                       [ <ADMIN_STATUS> ]
                       [ <POLICY_DATA> ... ]
                       <sender descriptor>
                       [<S2L sub-LSP descriptor list>]

Note that PathErr and PathTear messages are not impacted by the introduction of the LSP Attributes objects πŸ™Œ.

3. Resv Messages πŸŒ™

This section updates [RFC4875] and [RFC5420] πŸ’œ. Section 9 of [RFC5420] has the following to say about Resv messages πŸ“–:

  • The LSP_ATTRIBUTES object MAY be carried in a Resv message πŸ¦‹.
  • The order of objects in RSVP-TE messages is recommended, but implementations must be capable of receiving the objects in any meaningful order πŸ’–.
  • On a Resv message, the LSP_ATTRIBUTES object goes in the flow descriptor and is associated with the FILTER_SPEC object right before it. It is RECOMMENDED that the LSP_ATTRIBUTES object go immediately after the LABEL object 🧚.
  • LSRs MUST be prepared to receive this object in any order and any position within a Resv message, subject to the previous note. Only one instance of the LSP_ATTRIBUTES object is meaningful within the context of a FILTER_SPEC object. Later instances of the object SHOULD be ignored and MUST be forwarded unchanged πŸ”₯.

So LSP attributes may be present per sender (LSP), and the LSP Attributes object can be modified using make-before-break (see [RFC3209]) πŸ’…. This definition is enough for point-to-point LSPs ([RFC3209] and [RFC3473]) and for the special case where all point-to-multipoint source-to-leaf (S2L) sub-LSPs ([RFC4875]) report the same operational status (as used in [RFC5420]) 🌈. However, it does NOT let different egress Label Switching Routers (LSRs) report different operational statuses 😭. To allow that kind of reporting, this document adds the following definition 🫢:

  • An LSR that wants to report the operational status of a (point-to-multipoint) S2L sub-LSP may include the LSP Attributes object in a Resv message, or update the object already carried in a Resv message πŸ¦‹. LSP Attributes objects that represent S2L sub-LSP status MUST follow an S2L_SUB_LSP object. Only the first instance of the LSP Attributes object is meaningful within the context of an S2L_SUB_LSP object. Later instances of the object SHOULD be ignored and MUST be forwarded unchanged πŸ’–.
  • When an LSP Attributes object is present before the first S2L_SUB_LSP object, it represents the operational status of all S2L sub-LSPs identified in the message πŸ‘‘. Later instances of the object (for example, in the filter spec or the S2L sub-LSP flow descriptor) SHOULD be ignored and MUST be forwarded unchanged πŸ™Œ. When a branch node combines Resv state from multiple receivers into a single Resv message, and an LSP Attributes object sits before the first S2L_SUB_LSP object in a received Resv message, the received LSP Attributes object SHOULD be moved to follow the first received S2L_SUB_LSP object. Then it SHOULD be duplicated for, and placed after, each later S2L_SUB_LSP object 🌸.

3.1. Resv Message Format -- Per LSP Operational Status πŸ’Ž

This section shows the Resv message format for LSPs as modified by [RFC5420]. It can be used to report operational status per LSP πŸŽ€. Unmodified formats are not listed, and the following is based on [RFC4875] 🧚.

<FF flow descriptor list> ::= <FF flow descriptor>
                              [ <FF flow descriptor list> ]

<FF flow descriptor>      ::= [ <FLOWSPEC> ] <FILTER_SPEC> <LABEL>
                              [ <LSP_ATTRIBUTES> ... ]
                              [ <RECORD_ROUTE> ]
                              [ <S2L sub-LSP flow descriptor list> ]

<SE flow descriptor>      ::= <FLOWSPEC> <SE filter spec list>

<SE filter spec list>     ::= <SE filter spec>
                              [ <SE filter spec list> ]

<SE filter spec>          ::= <FILTER_SPEC> <LABEL>
                              [ <LSP_ATTRIBUTES> ... ]
                              [ <RECORD_ROUTE> ]
                              [ <S2L sub-LSP flow descriptor list> ]

...to be continued in part 2 πŸ¦‹πŸ’–

3.2. Resv Message Format -- Per S2L Operational Status πŸ¦‹

okay so this section is where the Resv message gets the S2L treatment πŸ’… it shows the Resv format for LSPs as changed by this doc and [RFC5420], and you can use it to report operational status per S2L sub-LSP. we're not listing the unchanged formats because bestie, nobody needs that πŸ™ˆ the grammar below is based on [RFC4875]

<FF flow descriptor> ::= [ <FLOWSPEC> ] <FILTER_SPEC> <LABEL>
                         [ <RECORD_ROUTE> ]
                         [ <S2L sub-LSP flow descriptor list> ]

<SE filter spec>     ::= <FILTER_SPEC> <LABEL> [ <RECORD_ROUTE> ]
                         [ <S2L sub-LSP flow descriptor list> ]

<S2L sub-LSP flow descriptor list> ::=
                            <S2L sub-LSP flow descriptor>
                            [ <S2L sub-LSP flow descriptor list> ]

<S2L sub-LSP flow descriptor>      ::= <S2L_SUB_LSP>
                            [ <LSP_ATTRIBUTES> ... ]
                            [ <P2MP_SECONDARY_RECORD_ROUTE> ]

3.2.1. Compatibility 🌸

ok the tea β˜• a node that supports [RFC4875] and [RFC5420] but NOT this doc is going to read the FIRST LSP Attributes object in a received message (the one formatted the way this doc describes) as LSP operational status instead of S2L sub-LSP status. 😭 is that a big deal? it's unclear, ngl. the LSP Attributes object is already considered kind of unsuitable for reporting operational status of P2MP LSPs, see Section 2.1 of [RFC6511] for the full drama. this doc is here to fix that limitation, and networks that want this kind of operational reporting are expected to deploy this extension. the glow-up is coming 🧚✨


4. Security Considerations ✨

this doc just clarifies how the objects from [RFC5420] get used. no new information is conveyed, so no extra security considerations are added here 🫢 for the bigger picture on MPLS- and GMPLS-related security issues, check out the MPLS/GMPLS security framework in [RFC5920]. it's the main character of security docs πŸ’œ

5. Acknowledgments πŸŽ€

the authors want to give a shoutout to Adrian Farrel for his contributions πŸ‘‘ iconic behaviour

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.

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

[RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S. Yasukawa, Ed., "Extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs)", RFC 4875, May 2007.

[RFC5420] Farrel, A., Ed., Papadimitriou, D., Vasseur, JP., and A. Ayyangarps, "Encoding of Attributes for MPLS LSP Establishment Using Resource Reservation Protocol Traffic Engineering (RSVP-TE)", RFC 5420, February 2009.

[RFC5511] Farrel, A., "Routing Backus-Naur Form (RBNF): A Syntax Used to Form Encoding Rules in Various Routing Protocol Specifications", RFC 5511, April 2009.

6.2. Informative References

[RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS Networks", RFC 5920, July 2010.

[RFC6511] Ali, Z., Swallow, G., and R. Aggarwal, "Non-Penultimate Hop Popping Behavior and Out-of-Band Mapping for RSVP-TE Label Switched Paths", RFC 6511, February 2012.


Authors' Addresses πŸ’Œ

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

George Swallow Cisco Systems, Inc. EMail: swallow@cisco.com

πŸ“¦ where this page comes from