<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-lisp-vendor-lcaf-12" number="9306" ipr="trust200902" updates="8060" obsoletes="" submissionType="IETF" category="exp" consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3">
  
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="Vendor-Specific LCAF">Vendor-Specific LISP Canonical Address Format (LCAF)</title>
    <seriesInfo name="RFC" value="9306"/>
    <author fullname="Alberto Rodriguez-Natal" initials="A." surname="Rodriguez-Natal">
      <organization>Cisco</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>Spain</country>
        </postal>
        <phone/>
        <email>natal@cisco.com</email>
      </address>
    </author>
    <author fullname="Vina Ermagan" initials="V." surname="Ermagan">
      <organization>Google, Inc.</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94043</code>
          <country>United States of America</country>
        </postal>
        <phone/>
        <email>ermagan@gmail.com</email>
      </address>
    </author>
    <author fullname="Anton Smirnov" initials="A." surname="Smirnov">
      <organization>Cisco</organization>
      <address>
        <postal>
          <street/>
          <city>Diegem</city>
          <region/>
          <code/>
          <country>Belgium</country>
        </postal>
        <phone/>
        <email>asmirnov@cisco.com</email>
      </address>
    </author>
    <author fullname="Vrushali Ashtaputre" initials="V." surname="Ashtaputre">
      <organization>Cisco</organization>
      <address>
        <postal>
          <street/>
          <city>San Jose</city>
          <region>CA</region>
          <code/>
          <country>United States of America</country>
        </postal>
        <phone/>
        <email>vrushali@cisco.com</email>
      </address>
    </author>
    <author fullname="Dino Farinacci" initials="D." surname="Farinacci">
      <organization>lispers.net</organization>
      <address>
        <postal>
          <street/>
          <city>San Jose</city>
          <region>CA</region>
          <code/>
          <country>United States of America</country>
        </postal>
        <phone/>
        <email>farinacci@gmail.com</email>
      </address>
    </author>
    <date year="2022" month="October"/>
    <area>RTG</area>
    <workgroup>LISP</workgroup>
    <keyword>lisp</keyword>
    <keyword>lcaf</keyword>
    <keyword>internal</keyword>
    <keyword>domain</keyword>
    <keyword>organization</keyword>
    <keyword>private</keyword>
    <abstract>
      <t>This document describes a new  Locator/ID Separation Protocol (LISP) Canonical Address Format (LCAF), the Vendor-Specific LCAF. This LCAF enables organizations to have implementation-specific encodings for LCAF addresses. This document updates RFC 8060.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>The LISP Canonical Address Format (LCAF) <xref target="RFC8060" format="default"/> defines the format and encoding for different address types that can be used on deployments of the Locator/ID Separation Protocol (LISP) <xref target="RFC9300" format="default"/> <xref target="RFC9301" format="default"/>. However, certain deployments require specific format encodings that may not be applicable outside of the use case for which they are defined. This document extends <xref target="RFC8060" format="default"/> to introduce a Vendor-Specific LCAF that defines how organizations can create LCAF addresses to be used only on particular LISP implementations. This document also updates <xref target="RFC8060" format="default"/> to specify the behavior when receiving unrecognized LCAF types.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Requirements Notation</name>
        <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>",
    "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be
    interpreted as described in BCP&nbsp;14 <xref target="RFC2119"/> <xref
    target="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
        </t>
    </section>
    <section numbered="true" toc="default">
      <name>Unrecognized LCAF Types</name>
      <t><xref target="RFC8060" format="default"/> does not explain how an implementation should handle an unrecognized LCAF type. This document updates <xref target="RFC8060" format="default"/> to specify that any unrecognized LCAF type received in a LISP control plane message <bcp14>MUST</bcp14> be ignored. If all Locators are ignored, this is equivalent to a LISP control message with Locator Count = 0, as described in <xref target="RFC9301" format="default"/>. If an EID-Prefix only contains unrecognized LCAF types, the LISP control message <bcp14>MUST</bcp14> be dropped and the event <bcp14>MUST</bcp14> be logged. (Here, "EID" refers to Endpoint Identifier.)</t>
    </section>
    <section anchor="vendor-lcaf" numbered="true" toc="default">
      <name>Vendor-Specific LCAF</name>
      <t>
        The Vendor-Specific LCAF relies on using the IEEE Organizationally Unique Identifier (OUI) <xref target="IEEE.802" format="default"/> to prevent collisions across vendors or organizations using the LCAF. The format of the Vendor-Specific LCAF is provided below.</t>
      <figure>
        <name>Vendor-Specific LCAF</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[            
 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...                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>The fields in the first 8 octets of the above Vendor-Specific LCAF are actually the fields defined in the general LCAF format specified  in <xref target="RFC8060" format="default"/>. The Type field <bcp14>MUST</bcp14> be set 255, the value assigned by IANA to indicate that this is a Vendor-Specific LCAF; see <xref target="IANA" format="default"/>. The Length field has to be set accordingly to the length of the internal format, plus the OUI, plus the Rsvd3 fields, as for <xref target="RFC8060" format="default"/>. The fields defined by the Vendor-Specific LCAF are as follows:
      </t>
      <dl newline="false" spacing="normal">
        <dt>Rsvd3:</dt>
        <dd>This 8-bit field is reserved for future use. It <bcp14>MUST</bcp14> be set to 0 on transmit and <bcp14>MUST</bcp14> be ignored on receipt.</dd>
        <dt>Organizationally Unique Identifier (OUI):</dt>
        <dd>This is a 24-bit field that carries an OUI or Company ID (CID) assigned by the IEEE Registration Authority (RA) as defined by the IEEE Std 802 <xref target="IEEE.802" format="default"/></dd>
        <dt>Internal format:</dt>
        <dd>This is a variable-length field that is left undefined on purpose. Each vendor or organization can define its own internal format(s) to use with the Vendor-Specific LCAF.</dd>
      </dl>
      <t>The Vendor-Specific LCAF type <bcp14>SHOULD NOT</bcp14> be used in deployments where different organizations interoperate. However, there may be cases where two (or more) organizations share a common deployment on which they explicitly and mutually agree to use a particular Vendor-Specific LCAF. In that case, the organizations involved need to carefully assess the interoperability concerns for that particular deployment. It is <bcp14>NOT RECOMMENDED</bcp14> to use an OUI not assigned to an organization.</t>
      <t>If a LISP device receives a LISP message containing a Vendor-Specific LCAF with an OUI that it does not understand, it <bcp14>MUST</bcp14> drop the message and it <bcp14>SHOULD</bcp14> create a log message.</t>
    </section>
    <section anchor="security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This document enables organizations to define new LCAFs for their internal use. It is the responsibility of these organizations to properly assess the security implications of the formats they define. Security considerations from <xref target="RFC8060" format="default"/> apply to this document.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>Following the guidelines of <xref target="RFC8126" format="default"/>, IANA has assigned the following value for the Vendor-Specific LCAF from the "LISP Canonical Address Format (LCAF) Types" registry (defined in <xref target="RFC8060" format="default"/>):</t>
<table anchor="table_ex" align="center">
        <name>Vendor-Specific LCAF Assignment</name>
        <thead>
          <tr>
            <th align="center">Value</th>
            <th align="center">LISP LCAF Type Name</th>
            <th align="center">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center">255</td>
            <td align="center">Vendor Specific</td>
            <td align="center">
          RFC 9306, <xref target="vendor-lcaf" format="default"/>
            </td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8060.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
      <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>

<reference anchor='RFC9300' target="https://www.rfc-editor.org/info/rfc9300">
<front>
<title>The Locator/ID Separation Protocol (LISP)</title>
<author initials='D' surname='Farinacci' fullname='Dino Farinacci'>
<organization />
</author>
<author initials='V' surname='Fuller' fullname='Vince Fuller'>
<organization />
</author>
<author initials='D' surname='Meyer' fullname='Dave Meyer'>
<organization />
</author>
<author initials='D' surname='Lewis' fullname='Darrel Lewis'>
<organization />
</author>
<author initials='A' surname='Cabellos' fullname='Albert Cabellos' role='editor'>
<organization />
</author>
<date year='2022' month='October'/>
</front>
<seriesInfo name="RFC" value="9300"/>
<seriesInfo name="DOI" value="10.17487/RFC9300"/>
</reference>

<reference anchor='RFC9301' target="https://www.rfc-editor.org/info/rfc9301">
<front>
<title>Locator/ID Separation Protocol (LISP) Control Plane</title>
<author initials='D' surname='Farinacci' fullname='Dino Farinacci'>
<organization />
</author>
<author initials='F' surname='Maino' fullname='Fabio Maino'>
<organization />
</author>
<author initials='V' surname='Fuller' fullname='Vince Fuller'>
<organization />
</author>
<author initials='A' surname='Cabellos' fullname='Albert Cabellos' role='editor'>
<organization />
</author>
<date year='2022' month='October'/>
</front>
<seriesInfo name="RFC" value="9301"/>
<seriesInfo name="DOI" value="10.17487/RFC9301"/>
</reference>

      <reference anchor="IEEE.802" target="https://ieeexplore.ieee.org/document/6847097">
        <front>
          <title>IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture</title>
          <author>
            <organization>IEEE</organization>
          </author>
          <date month="July" year="2014"/>
        </front>
        <seriesInfo name="DOI" value="10.1109/IEEESTD.2014.6847097"/>
        <seriesInfo name="IEEE" value="Std 802"/>
      </reference>
    </references>
    <section anchor="Acknowledgments" numbered="false" toc="default">
      <name>Acknowledgments</name>
      <t>The authors would like to thank <contact fullname="Joel Halpern"/>, <contact fullname="Luigi Iannone"/>, and <contact fullname="Alvaro Retana"/> for their suggestions and guidance regarding this document.</t>
    </section>
  </back>
  </rfc>
