RFC 10040

Locator/ID Separation Protocol (LISP) Geo-Coordinates

๐Ÿ“… published September 2026, from ietf

Locator/ID Separation Protocol (LISP) Geo-Coordinates โœจ

Okay bestie, this is RFC 10040 ๐ŸŽ€ It was written by D. Farinacci from lispers.net, it's dated September 2026, and it's an Experimental doc (ISSN 2070-1721). It's an IETF document, and it updates RFC 8060. The header doesn't list anything it obsoletes, so nothing gets replaced here.

Abstract ๐Ÿ’–

This document explains how Geo-Coordinates can be used in the Locator/ID Separation Protocol (LISP) and defines a new LISP Canonical Address Format (LCAF) encoding for them. It's giving "geo-coords, but make it a proper LISP type" ๐ŸŒ

This document updates RFC 8060.

Status of This Memo ๐Ÿฆ‹

Not a Standards Track spec, bestie. It's published for examination, experimental implementation, and evaluation.

This is an Experimental Protocol for the Internet community. It's a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). Not every IESG-approved document is a candidate for any level of Internet Standard, so see Section 2 of RFC 7841 for that ๐Ÿ™ˆ

Info about the current status of this document, any errata, and how to send feedback is at https://www.rfc-editor.org/info/rfc10040.

Copyright (c) 2026 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. Read those carefully, because they spell out your rights and restrictions for this document. Code Components pulled out of this document must include Revised BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, as described in the Revised BSD License.

Table of Contents ๐Ÿ“‘

1.  Introduction
2.  Requirements Language
3.  Definition of Terms
4.  Geo-Points in RLOC-Records
5.  Geo-Prefixes in EID-Records and RLOC-Records
6.  Geo-Points and Geo-Prefixes Examples
  6.1.  Locating a Package
  6.2.  Wireless Connectivity
  6.3.  Vehicular Networks
7.  Geo-Prefix and Geo-Point Encodings
8.  Backward-Compatibility Considerations
9.  Security Considerations
10. Privacy Considerations
11. IANA Considerations
12. References
  12.1.  Normative References
  12.2.  Informative References
Acknowledgments
Author's Address

1. Introduction โœจ

So the Locator/ID Separation Protocol (LISP) [RFC9300] brings in two new namespaces, Endpoint Identifiers (EIDs) and Routing Locators (RLOCs). They're meant to pull identity and topological location apart from an IP address, which is honestly iconic ๐Ÿ‘‘ To keep things flexible for current and future applications, these values can be encoded in LISP control messages using a general syntax that includes Address Family Identifiers (AFIs) [AFN].

This document defines a new LCAF encoding for Geo-Coordinates. It's different from the structure in [RFC9179] because the team wanted a more compact encoding ๐Ÿ’…

This document updates [RFC8060]. The big change is that the Geo-Coordinates encoding in Section 4.3 of [RFC8060], which is identified by LCAF type 5, is now deprecated ๐Ÿ˜ญ The new LCAF type in this document is called "Geo-Location", and it's got a brand-new LCAF type number allocated to it.

The Geo-Location LCAF type gets used in EID-Records and RLOC-Records. For which LISP messages contain those records, check [RFC9301] โœจ

This document is part of a bigger effort to bring Geo-Coordinates into LISP. It is not part of an "experiment", since not every Experimental RFC is necessarily part of one. It's really about the maturity level of the technology ๐Ÿงš

2. Requirements Language ๐Ÿซถ

Here's the key-word part, and it matters. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Lowercase versions don't count, so don't get it twisted ๐Ÿ’€

3. Definition of Terms ๐ŸŒธ

For the basic terms "EID", "RLOC", and "xTR", go to [RFC9300] for the authoritative definitions. The terms in this section add to those canonical definitions so they fit the design in this spec ๐Ÿ“

  • Geo-Point: A coordinate according to [GEO] that defines a point using the latitude, longitude, and altitude parameters.
  • Geo-Prefix: Forms a sphere (in three dimensions) of a geographic area, made up of a Geo-Point and a radius. A Geo-Point is known to be "more specific" than a Geo-Prefix when its physical location is within the geographic sphere ๐ŸŒˆ

4. Geo-Points in RLOC-Records ๐Ÿฆ‹

Geo-Points MAY be present in an RLOC-Record to figure out the physical location of an Egress Tunnel Router (ETR) or Re-encapsulating Tunneling Router (RTR). This can help when topological distance is inaccurate or hidden, because it lets you work out geographical distance instead ๐Ÿ—บ๏ธ When Geo-Points are encoded in RLOC-Records with RLOC addresses, the LCAF AFI-List Type SHOULD be used.

Geo-Points MAY also be the only thing in an RLOC-Record when an EID maps to a Geo-Coordinate. If you want to find the geographical location of any EID, this method is super convenient โœจ Picture this: an EID belongs to a physical shipping package from a delivery company, and the EID is an IPv6 address with the tracking number embedded in it. The network has LISP nodes deployed in lots of locations, each configured with its own Geo-Coordinates. As the package roams, whichever LISP node spots the EID registers it with the LISP Mapping Database System. So the EID-to-RLOC mapping is EID=IPv6 and RLOC=geo-point. If someone does a Mapping Database System lookup on that IPv6 EID, the Geo-Coordinate comes back. As the EID keeps roaming, new registrations with different Geo-Coordinates get stored, which means you can physically track the package ๐Ÿ“ฆ๐Ÿ”ฅ

Part 2 picks up at Section 5 ๐Ÿ’–

7. Geo-Prefix and Geo-Point Encodings โœจ

okay so when a Geo-Prefix or a Geo-Point gets encoded in an EID-Record, it's encoded solely with the Geo-Location LCAF Type format ๐Ÿ’– as long as VPNs are not in use. when VPNs are in use, the Geo-Location LCAF Type gets tucked into the AFI field of the Instance-ID LCAF Type ๐ŸŽ€

this doc has no way to validate the Geo-Location values ๐Ÿ™ˆ

here's the layout of the Geo-Location format, and I'm obsessed ๐Ÿ˜ญ

     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 = 17   |     Rsvd2     |            Length             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |U|N|E|A|M|R|K|    Reserved     |     Location Uncertainty      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Lat Degrees  |        Latitude Milliseconds                  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Long Degrees |        Longitude Milliseconds                 |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                            Altitude                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |             Radius            |          Reserved             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |              AFI              |         Address  ...          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 1: Geo-Location LCAF Encoding Format
  • AFI: set to 16387 to say the address is using the LCAF format from [RFC8060] ๐Ÿซถ
  • Type: 17 ๐ŸŒธ
  • Rsvd1/Rsvd2/Flags: see [RFC8060] for the deets ๐Ÿงš
  • Length: the length in bytes, starting with and including the byte after the Length field ๐Ÿ“
  • U-bit: if the U-bit is set, the Location Uncertainty field is used. if it's clear, Location Uncertainty gets sent as 0 and is ignored on receipt ๐Ÿฆ‹
  • N-bit: if the N-bit is set, the latitude is north of the Equator. if it's clear, the latitude is south of the Equator ๐ŸŒ
  • E-bit: if the E-bit is set, the longitude is east of the Prime Meridian. if it's clear, the longitude is west of the Prime Meridian ๐Ÿงญ
  • A-bit: if the A-bit is set, the Altitude field is used. if it's clear, Altitude is sent as 0 and ignored on receipt โ›ฐ๏ธ
  • M-bit: if the M-bit is set, the altitude is in meters. if it's clear, the altitude is in centimeters ๐Ÿ“
  • R-bit: if the R-bit is set, the Radius field is used and the encoding is a Geo-Prefix. if it's clear, Radius is set to 0 and the encoding is a Geo-Point ๐ŸŽฏ
  • K-bit: if the K-bit is set, the radius is in kilometers. if it's clear, the radius is in meters ๐Ÿ—บ๏ธ
  • Reserved: reserved for future addition of bit fields. these bits MUST be set to 0 when sending protocol packets and MUST be ignored when receiving protocol packets ๐Ÿ”’
  • Location Uncertainty: an unsigned 16-bit integer for the number of centimeters of uncertainty for the location ๐Ÿซง
  • Latitude Degrees: an unsigned 8-bit integer ranging from 0 to 90 degrees north or south of the Equator (northern or southern hemisphere, respectively) ๐ŸŒ
  • Latitude Milliseconds: an unsigned 24-bit integer ranging from 0 to 3,599,999 (i.e., less than 60 minutes) โฑ๏ธ
  • Longitude Degrees: an unsigned 8-bit integer ranging from 0 to 180 degrees east or west of the Prime Meridian ๐ŸŒ
  • Longitude Milliseconds: an unsigned 24-bit integer ranging from 0 to 3,599,999 (i.e., less than 60 minutes) โฒ๏ธ
  • Altitude: a signed 32-bit integer containing the height relative to sea level, in centimeters or meters. a negative height means the location is below sea level ๐ŸŒŠ
  • Radius: an unsigned 16-bit integer containing the radius of a sphere (or circle if altitude isn't specified) centered on the specified coordinates. the radius is in meters unless the K-bit is set, which means kilometers. when the radius is specified, this LCAF type encodes a Geo-Prefix, where the Geo-Coordinates define the entire area of the sphere or circle defined by the radius and center point ๐Ÿ”ต
  • AFI/Address: the AFI field indicates the Address Family Identifier [AFN] [RFC8060] for the address in the Address field ๐Ÿ’œ

8. Backward-Compatibility Considerations ๐Ÿ”

okay so EID-Records encoded with the Geo-Location LCAF are only supported by LISP nodes that support them for registration and lookup purposes ๐ŸŽ€

RLOC-Records encoded with the Geo-Location LCAF can get returned from Mapping Database System lookups to LISP nodes that don't understand them. in that case, the RLOC-Record is ignored ๐Ÿ™ƒ


9. Security Considerations ๐Ÿ”

this section is SERIOUS, bestie ๐Ÿ˜ญ the use of Geo-Coordinates in any application must be considered carefully so it doesn't violate any privacy concerns about physical location. this document does take into consideration the applicability of BCP 160 [RFC6280] for location-based privacy protection ๐Ÿ›ก๏ธ

in a LISP environment, Geo-Coordinates can be registered to the Mapping Database System. when that happens, any Tunnel Router (xTR) is letting its physical location be known to queriers of the Mapping Database System, as well as to the network components that make up the Mapping Database System ๐Ÿ‘€ there are various sets of trust relationships that may exist ๐Ÿค

when xTRs register their mappings with Geo-Coordinate information, a policy is attached about who can access that info. the policy is typically stored locally on the xTR and applied when the Mapping Service Provider (MSP) forwards Map-Requests to the xTRs of the LISP site. depending on the requesting xTR, the responding xTR can apply the local policy to decide whether a Map-Reply goes out with all RLOC-Records or, maybe, only the RLOC-Records that don't contain Geo-Coordinate information ๐Ÿซฃ

the MSP can also be asked by LISP site xTRs to proxy Map-Replies to Map-Requests. in this case, the MSP MUST apply the xTR policy so only authorized requesters get access to Geo-Coordinate information ๐Ÿšจ

note that once a requester is authorized, Map-Replies are returned directly to the requester and are signed as described in [RFC9303]. the Map-Replies not only authenticate the Map-Replier but can also be encrypted by the Map-Replier, so no eavesdropping of Geo-Coordinate information can occur ๐Ÿ”

in most deployments, there's no tracking of EID host-based systems, since Geo-Coordinate assignment is typically registered for LISP xTR devices or other asset inventory. BUT, since Geo-Coordinate-encoded RLOCs can be associated with any EID, tracking of hosts can occur if such an EID is assigned to hosts ๐Ÿ’€


10. Privacy Considerations ๐Ÿซถ

so on top of controlling where LISP Geo-Coordinate mapping records go and applying policies (see "Security Considerations" section) for who can access them, there are extra steps you can take to protect against threats ๐Ÿงธ

the privacy guidelines in [RFC6973] can be implemented with existing LISP features, for example:

  • using signatures from [ECDSA-AUTH] can authenticate and authorize who can request such mapping records ๐Ÿ”‘
  • obfuscating a Geo-Point by using Geo-Prefixes uses data minimization techniques ๐Ÿซง
  • using short TTLs so the Geo-Coordinate mapping records are ephemeral reduces the attack window โณ

the typical applicability for Geo-Coordinates is describing the physical location of well-known public structures, places, and landmarks, rather than people, vehicles, and equipment ๐Ÿ›๏ธ๐Ÿ—ผ


11. IANA Considerations ๐Ÿ“‹

following the guidelines of [RFC8126], IANA has assigned the following value in the "LISP Canonical Address Format (LCAF) Types" registry [RFC8060]:

          +=======+=====================+======================+
          | Value | LISP LCAF Type Name | Reference            |
          +=======+=====================+======================+
          | 17    | Geo-Location        | RFC 10040, Section 7 |
          +-------+---------------------+----------------------+

                Table 1: Geo-Location LCAF Type Assignment

in addition, IANA has marked LCAF type 5 (Geo-Coordinates) as deprecated in the "LISP Canonical Address Format (LCAF) Types" registry. this type was defined in [RFC8060], which this document updates ๐ŸŒˆ


12. References โœจ

12.1. Normative References ๐Ÿ“š

okay bestie, these are the sources the spec actually leans on, so they're must-reads ๐Ÿ’… Here they are, verbatim:

   [GEO]      National Geospatial-Intelligence Agency, "Department of
              Defense World Geodetic System 1984: Its Definition and
              Relationships with Local Geodetic Systems",
              NGA.STND.0036_1.0.0_WGS84, 8 July 2014,
              <https://nsgreg.nga.mil/doc/view?i=4085>.

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

   [RFC6280]  Barnes, R., Lepinski, M., Cooper, A., Morris, J.,
              Tschofenig, H., and H. Schulzrinne, "An Architecture for
              Location and Location Privacy in Internet Applications",
              BCP 160, RFC 6280, DOI 10.17487/RFC6280, July 2011,
              <https://www.rfc-editor.org/info/rfc6280>.

   [RFC6973]  Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
              Morris, J., Hansen, M., and R. Smith, "Privacy
              Considerations for Internet Protocols", RFC 6973,
              DOI 10.17487/RFC6973, July 2013,
              <https://www.rfc-editor.org/info/rfc6973>.

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

   [RFC9179]  Hopps, C., "A YANG Grouping for Geographic Locations",
              RFC 9179, DOI 10.17487/RFC9179, February 2022,
              <https://www.rfc-editor.org/info/rfc9179>.

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

   [RFC9303]  Maino, F., Ermagan, V., Cabellos, A., and D. Saucez,
              "Locator/ID Separation Protocol Security (LISP-SEC)",
              RFC 9303, DOI 10.17487/RFC9303, October 2022,
              <https://www.rfc-editor.org/info/rfc9303>.

   [RFC9735]  Farinacci, D. and L. Iannone, Ed., "Locator/ID Separation
              Protocol (LISP) Distinguished Name Encoding", RFC 9735,
              DOI 10.17487/RFC9735, February 2025,
              <https://www.rfc-editor.org/info/rfc9735>.

12.2. Informative References ๐Ÿ”

these ones are the helpful extras, the nice-to-know reading that gives you the bigger picture ๐ŸŒธ

   [AFN]      IANA, "Address Family Numbers",
              <http://www.iana.org/assignments/address-family-numbers>.

   [BGP-GEO]  Chen, E., Shen, N., and R. Raszuk, "Carrying Geo
              Coordinates in BGP", Work in Progress, Internet-Draft,
              draft-chen-idr-geo-coordinates-02, 31 October 2016,
              <https://datatracker.ietf.org/doc/html/draft-chen-idr-geo-
              coordinates-02>.

   [ECDSA-AUTH]
              Farinacci, D. and E. Nordmark, "LISP Control-Plane ECDSA
              Authentication and Authorization", Work in Progress,
              Internet-Draft, draft-ietf-lisp-ecdsa-auth-17, 26 July
              2026, <https://datatracker.ietf.org/doc/html/draft-ietf-
              lisp-ecdsa-auth-17>.

   [ISIS-GEO] Shen, N., Ed. and E. Chen, "Carrying Geo Coordinates
              Information In IS-IS", Work in Progress, Internet-Draft,
              draft-shen-isis-geo-coordinates-04, 18 October 2017,
              <https://datatracker.ietf.org/doc/html/draft-shen-isis-
              geo-coordinates-04>.

   [OSPF-GEO] Lindem, A., Ed., Shen, N., and E. Chen, "OSPF Extensions
              for Advertising/Signaling Geo Location Information", Work
              in Progress, Internet-Draft, draft-acee-ospf-geo-location-
              05, 18 October 2017,
              <https://datatracker.ietf.org/doc/html/draft-acee-ospf-
              geo-location-05>.

   [PRED-RLOCS]
              Farinacci, D. and P. Pillay-Esnault, "LISP Predictive
              RLOCs", Work in Progress, Internet-Draft, draft-ietf-lisp-
              predictive-rlocs-15, 19 September 2024,
              <https://datatracker.ietf.org/doc/html/draft-ietf-lisp-
              predictive-rlocs-15>.

   [V2I-PROB] Jeong, J. P. and T. T. Oh, "Problem Statement for Vehicle-
              to-Infrastructure Networking", Work in Progress, Internet-
              Draft, draft-jeong-its-v2i-problem-statement-02, 19 July
              2016, <https://datatracker.ietf.org/doc/html/draft-jeong-
              its-v2i-problem-statement-02>.

Acknowledgments ๐Ÿ™Œ

big thank-you to the LISP WG for reviewing and accepting this document, and to Kiran Makhijani for shepherding it along โœจ

special shoutout to Chris Hopps, Enke Chen, Acee Lindem, and Naiming Shen for collaborating on a Geo-Location encoding format that's consistent with OSPF [OSPF-GEO], IS-IS [ISIS-GEO], and BGP [BGP-GEO]. teamwork makes the dream work ๐Ÿซถ๐Ÿ’œ

Author's Address ๐Ÿ“ฎ

Dino Farinacci
lispers.net
San Jose, CA
United States of America
Email: farinacci@gmail.com
๐Ÿ“ฆ where this page comes from