RFC 9306

Vendor-Specific LISP Canonical Address Format (LCAF)

πŸ“… published October 2022, from ietf

πŸŽ€ RFC 9306: Vendor-Specific LISP Canonical Address Format (LCAF) πŸŽ€

Okay bestie, let's get into this one! πŸ’– This is an Experimental doc (so not a Standards Track thing ✨) from the IETF, dated October 2022. It updates RFC 8060 πŸ¦‹, which means it tweaks how that spec behaves.

The authors are A. Rodriguez-Natal (Cisco), V. Ermagan (Google, Inc.), A. Smirnov (Cisco), V. Ashtaputre (Cisco), and D. Farinacci (lispers.net). Iconic squad πŸ‘‘

The ISSN is 2070-1721 and the document is in the Request for Comments series as RFC 9306.

Now the vibe check: this doc is literally about giving organizations their own private LCAF address encodings, and it also says what to do when you get an LCAF type you don't recognize. Let's go 🫢


Abstract 🌸

This doc describes a brand new LISP Canonical Address Format (LCAF) called the Vendor-Specific LCAF. It lets orgs make their own implementation-specific encodings for LCAF addresses. Main character energy πŸ’… And yes, it updates RFC 8060.

Status of This Memo 🧚

Not a Standards Track spec, okay?? It's published so people can examine it, experiment with it, and evaluate it πŸ”¬ It's an Experimental Protocol for the Internet community, it's an IETF product, and it reflects IETF consensus. It got public review and the IESG approved it for publication. Not everything the IESG approves is a candidate for any level of Internet Standard, so check Section 2 of RFC 7841 if you're curious πŸ“

For the current status, errata, and feedback, go to https://www.rfc-editor.org/info/rfc9306 ✨

Copyright (c) 2022 IETF Trust and the document authors. All rights reserved πŸ”’ This is under BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stood when it was published, so read them carefully because they're your rights and restrictions πŸ“œ Code extracted from this doc must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions, and it comes without warranty as described in that license 🫢

Table of Contents πŸŽ€

1.  Introduction
2.  Requirements Notation
3.  Unrecognized LCAF Types
4.  Vendor-Specific LCAF
5.  Security Considerations
6.  IANA Considerations
7.  Normative References
Acknowledgments
Authors' Addresses

1. Introduction πŸ¦‹

Okay so LCAF, the LISP Canonical Address Format, is defined in [RFC8060] and it covers the format and encoding for different address types you can use in LISP deployments (see [RFC9300] and [RFC9301]). Some deployments need special encodings that only make sense for their own use case, though πŸ€” This doc extends [RFC8060] with a Vendor-Specific LCAF, which is how orgs make LCAF addresses that only work on particular LISP implementations ✨ It also updates [RFC8060] to say what happens when you receive an unrecognized LCAF type πŸ’–

2. Requirements Notation 🌈

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are to be read as described in BCP 14 [RFC2119] [RFC8174], but ONLY when they show up in all capitals like this πŸ™ˆ

3. Unrecognized LCAF Types πŸ“

Here's the thing: [RFC8060] never says how to handle an unrecognized LCAF type 😭 So this doc fills that gap. Any unrecognized LCAF type that shows up in a LISP control plane message MUST be ignored 🚫 If every Locator gets ignored, that's the same as a LISP control message with Locator Count = 0, per [RFC9301] ✨ And if an EID-Prefix only has unrecognized LCAF types, the LISP control message MUST be dropped and the event MUST be logged πŸ“ (EID just means Endpoint Identifier, btw πŸ’…)

4. Vendor-Specific LCAF πŸ’–

This one leans on the IEEE Organizationally Unique Identifier (OUI) [IEEE.802] so vendors and orgs don't step on each other's toes 🫢 Here's the format:

   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |           AFI = 16387         |     Rsvd1     |     Flags     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Type = 255  |     Rsvd2     |            Length             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |      Rsvd3    |    Organizationally Unique Identifier (OUI)   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        Internal format...                     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 1: Vendor-Specific LCAF

The first 8 octets are the general LCAF fields from [RFC8060] 🧩 The Type field MUST be set to 255, which is the value IANA assigned for Vendor-Specific LCAF (see Section 6) πŸ’… The Length field gets set to the length of the internal format plus the OUI plus the Rsvd3 field, same as in [RFC8060] ✨ Here are the fields:

  • Rsvd3: This is an 8-bit reserved field for later. It MUST be set to 0 when sending and MUST be ignored when receiving πŸ”’
  • Organizationally Unique Identifier (OUI): A 24-bit field carrying an OUI or Company ID (CID) assigned by the IEEE Registration Authority (RA), as defined in IEEE Std 802 [IEEE.802] πŸŽ€
  • Internal format: A variable-length field that's intentionally left undefined 🌸 Each vendor or org can make its own internal format(s) for the Vendor-Specific LCAF πŸ¦‹

Now the important bit ⚠️ The Vendor-Specific LCAF type SHOULD NOT be used where different organizations interoperate. There are cases where two or more orgs share a deployment and explicitly agree on a particular Vendor-Specific LCAF, though, and in that case they need to carefully check the interoperability concerns for that deployment 🀝 It is NOT RECOMMENDED to use an OUI that isn't assigned to your organization 🚫

If a LISP device gets a LISP message with a Vendor-Specific LCAF whose OUI it doesn't understand, it MUST drop the message, and it SHOULD create a log message. Don't skip this one, bestie 😭

5. Security Considerations πŸ”

This doc lets organizations define new LCAFs for their own internal use, and they're on the hook for properly assessing the security implications of the formats they make πŸ’€ The security considerations from [RFC8060] apply to this doc too, so go read those as well ✨

6. IANA Considerations 🌈

Following [RFC8126] guidelines, IANA assigned the following value for the Vendor-Specific LCAF from the "LISP Canonical Address Format (LCAF) Types" registry (defined in [RFC8060]) πŸŽ€

+=======+=====================+=====================+
| Value | LISP LCAF Type Name |      Reference      |
+=======+=====================+=====================+
|  255  |   Vendor Specific   | RFC 9306, Section 4 |
+-------+---------------------+---------------------+

Table 1: Vendor-Specific LCAF Assignment

7. Normative References πŸ“š

[IEEE.802] IEEE, "IEEE Standard for Local and Metropolitan Area
           Networks: Overview and Architecture",
           DOI 10.1109/IEEESTD.2014.6847097, IEEE Std 802, July 2014,
           <https://ieeexplore.ieee.org/document/6847097>.

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

[RFC8060]  Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical
           Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060,
           February 2017, <https://www.rfc-editor.org/info/rfc8060>.

[RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
           Writing an IANA Considerations Section in RFCs", BCP 26,
           RFC 8126, DOI 10.17487/RFC8126, June 2017,
           <https://www.rfc-editor.org/info/rfc8126>.

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

[RFC9300]  Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A.
           Cabellos, Ed., "The Locator/ID Separation Protocol
           (LISP)", RFC 9300, DOI 10.17487/RFC9300, October 2022,
           <https://www.rfc-editor.org/info/rfc9300>.

[RFC9301]  Farinacci, D., Maino, F., Fuller, V., and A. Cabellos,
           Ed., "Locator/ID Separation Protocol (LISP) Control
           Plane", RFC 9301, DOI 10.17487/RFC9301, October 2022,
           <https://www.rfc-editor.org/info/rfc9301>.

Acknowledgments 🫢

The authors want to thank Joel Halpern, Luigi Iannone, and Alvaro Retana for their suggestions and guidance on this doc πŸ’œ

Authors' Addresses πŸ—ΊοΈ

  • Alberto Rodriguez-Natal, Cisco, Spain. Email: natal@cisco.com
  • Vina Ermagan, Google, Inc., 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States of America. Email: ermagan@gmail.com
  • Anton Smirnov, Cisco, Diegem, Belgium. Email: asmirnov@cisco.com
  • Vrushali Ashtaputre, Cisco, San Jose, CA, United States of America. Email: vrushali@cisco.com
  • Dino Farinacci, lispers.net, San Jose, CA, United States of America. Email: farinacci@gmail.com
πŸ“¦ where this page comes from