<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-lisp-gpe-19" indexInclude="true" ipr="trust200902" number="9305" prepTime="2022-10-18T16:13:42" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-lisp-gpe-19" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9305" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="LISP-GPE">Locator/ID Separation Protocol (LISP) Generic Protocol Extension</title>
    <seriesInfo name="RFC" value="9305" stream="IETF"/>
    <author fullname="Fabio Maino" initials="F." role="editor" surname="Maino">
      <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <street/>
          <city>San Jose</city>
          <region>CA</region>
          <code/>
          <country>United States of America</country>
        </postal>
        <email>fmaino@cisco.com</email>
      </address>
    </author>
    <author fullname="Jennifer Lemon" initials="J." surname="Lemon">
      <organization showOnFrontPage="true"/>
      <address>
        <email>jalemon@meus.us</email>
      </address>
    </author>
    <author fullname="Puneet Agarwal" initials="P." surname="Agarwal">
      <organization showOnFrontPage="true">Innovium</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>United States of America</country>
        </postal>
        <email>puneet@acm.org</email>
      </address>
    </author>
    <author fullname="Darrel Lewis" initials="D." surname="Lewis">
      <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <street/>
          <city>San Jose</city>
          <region>CA</region>
          <country>United States of America</country>
        </postal>
        <email>darlewis@cisco.com</email>
      </address>
    </author>
    <author fullname="Michael Smith" initials="M." surname="Smith">
      <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems</organization>
      <address>
        <postal>
          <street/>
          <city>San Jose</city>
          <region>CA</region>
          <code>95134</code>
          <country>United States of America</country>
        </postal>
        <email>michsmit@cisco.com</email>
      </address>
    </author>
    <date month="10" year="2022"/>
    <area>Routing</area>
    <workgroup>lisp</workgroup>
    <keyword>security</keyword>
    <keyword>policy</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document describes extensions to the Locator/ID Separation
      Protocol (LISP) data plane, via changes to the LISP header, to support
      multiprotocol encapsulation and allow the introduction of new protocol
      capabilities.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9305" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions">Conventions</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-definitions-of-terms">Definitions of Terms</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-lisp-header-without-protoco">LISP Header without Protocol Extensions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-lisp-generic-protocol-exten">LISP Generic Protocol Extension (LISP-GPE)</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-implementation-and-deployme">Implementation and Deployment Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-statement">Applicability Statement</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-congestion-control-function">Congestion-Control Functionality</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-udp-checksum">UDP Checksum</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.3.2">
                  <li pn="section-toc.1-1.4.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.3.2.1.1"><xref derivedContent="4.3.1" format="counter" sectionFormat="of" target="section-4.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-udp-zero-checksum-handling-">UDP Zero Checksum Handling with IPv6</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dscp-ecn-ttl-and-8021q">DSCP, ECN, TTL, and 802.1Q</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-backward-compatibility">Backward Compatibility</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-detection-of-etr-capabiliti">Detection of ETR Capabilities</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-lisp-gpe-next-protocol-regi">LISP-GPE Next Protocol Registry</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="Introduction" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The LISP data plane is defined in <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/>. 
      It specifies an encapsulation 
      format that carries IPv4 or IPv6 packets (henceforth jointly referred to
      as IP) in a LISP header and outer UDP/IP transport.</t>
      <t indent="0" pn="section-1-2">The LISP data plane header does not specify the protocol being
      encapsulated and, therefore, is currently limited to encapsulating only IP
      packet payloads. Other protocols, most notably the Virtual eXtensible Local
      Area Network (VXLAN) protocol <xref target="RFC7348" format="default" sectionFormat="of" derivedContent="RFC7348"/> (which defines a header format similar to LISP), are used to encapsulate Layer 2 (L2) protocols,
      such as Ethernet.</t>
      <t indent="0" pn="section-1-3">This document defines an extension for the LISP header, as defined in
      <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/>, to indicate the inner
      protocol, enabling the encapsulation of Ethernet, IP, or any other
      desired protocol, all the while ensuring compatibility with existing LISP
      deployments.</t>
      <t indent="0" pn="section-1-4">A flag in the LISP header -- the P-bit -- is used to signal the
      presence of the 8-bit 'Next Protocol' field. The 'Next Protocol' field, when
      present, uses 8 bits of the field that was allocated to the Echo-Noncing
      and Map-Versioning features in <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/>. Those two features are no longer
      available when the P-bit is used. However, appropriate LISP
      Generic Protocol Extension (LISP-GPE) shim headers can be defined to specify
      capabilities that are equivalent to Echo-Noncing and/or
      Map-Versioning.</t>
      <t indent="0" pn="section-1-5">Since all of the reserved bits of the LISP data plane header have
      been allocated, LISP-GPE can also be used to extend the LISP data plane
      header by defining Next Protocol shim headers that implement new 
      data plane functions not supported in the LISP header. For example, the use
      of the Group-Based Policy (GBP) header <xref target="VXLAN-LISP" format="default" sectionFormat="of" derivedContent="VXLAN-LISP"/> or of the In situ Operations,
      Administration, and Maintenance (IOAM) header <xref target="VXLAN-GPE" format="default" sectionFormat="of" derivedContent="VXLAN-GPE"/> with LISP-GPE can be
      considered an extension to add support in the data plane for GBP functionalities or IOAM metadata.</t>
      <section anchor="Conventions" numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-conventions">Conventions</name>
        <t indent="0" pn="section-1.1-1">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
        14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only
        when, they appear in all capitals, as shown here.</t>
      </section>
      <section anchor="Abbreviations" numbered="true" toc="include" removeInRFC="false" pn="section-1.2">
        <name slugifiedName="name-definitions-of-terms">Definitions of Terms</name>
        <t indent="0" pn="section-1.2-1">This document uses terms already defined in <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/>.</t>
      </section>
    </section>
    <section anchor="LISP_header" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-lisp-header-without-protoco">LISP Header without Protocol Extensions</name>
      <t indent="0" pn="section-2-1">As described in <xref target="Introduction" format="default" sectionFormat="of" derivedContent="Section 1"/>, the LISP header has no
      protocol identifier that indicates the type of payload being carried.
      Because of this, LISP is limited to carrying IP payloads.</t>
      <t indent="0" pn="section-2-2">The LISP header <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/> contains a
      series of flags (some defined, some reserved), a 'Nonce/Map-Version' field,
      and an 'Instance ID/Locator-Status-Bits' field. The flags provide
      flexibility to define how the various fields are encoded. Notably, Flag
      bit 5 is the last reserved bit in the LISP header.</t>
      <figure anchor="LISP_Header" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-lisp-header">LISP Header</name>
        <artwork align="left" name="" type="" alt="" pn="section-2-3.1">       
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|R|K|K|            Nonce/Map-Version                  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Instance ID/Locator-Status-Bits               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
    </section>
    <section anchor="LISP_GPE" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-lisp-generic-protocol-exten">LISP Generic Protocol Extension (LISP-GPE)</name>
      <t indent="0" pn="section-3-1">This document defines two changes to the LISP header in order to
      support multiprotocol encapsulation: the introduction of the P-bit and
      the definition of a 'Next Protocol' field. This document specifies the
      protocol behavior when the P-bit is set to 1; no changes are introduced
      when the P-bit is set to 0. The LISP-GPE header is shown in <xref target="GPE_Header" format="default" sectionFormat="of" derivedContent="Figure 2"> </xref> and described below.</t>
      <figure anchor="GPE_Header" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-lisp-gpe-header">LISP-GPE Header</name>
        <artwork align="left" name="" type="" alt="" pn="section-3-2.1">     
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|P|K|K|        Nonce/Map-Version/Next Protocol        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Instance ID/Locator-Status-Bits               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <dl newline="false" spacing="normal" indent="3" pn="section-3-3">
        <dt pn="section-3-3.1">P-Bit:</dt>
        <dd pn="section-3-3.2">Flag bit 5 is defined as the Next Protocol bit.
          The P-bit is set to 1 to indicate the presence of the 8-bit 'Next
        Protocol' field.</dd>
      </dl>
      <t indent="0" pn="section-3-4">If the P-bit is clear (0), the LISP header is
          bit-by-bit equivalent to the definition in <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/>.</t>
      <t indent="0" pn="section-3-5">When the P-bit is set to 1, bits N, E, and V, and bits 8-23 of the
          'Nonce/Map-Version/Next Protocol' field <bcp14>MUST</bcp14> be set to zero on
          transmission and <bcp14>MUST</bcp14> be ignored on receipt. Features equivalent to
          those that were implemented with bits N, E, and V in <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/>, such as Echo-Noncing and
	Map-Versioning, can be implemented by defining appropriate LISP-GPE
	shim headers.</t>
      <t indent="0" pn="section-3-6">When the P-bit is set to 1, the LISP-GPE header is encoded
          as:</t>
      <figure anchor="GPE_Header_Next_Protocol" align="left" suppress-title="false" pn="figure-3">
        <name slugifiedName="name-lisp-gpe-with-p-bit-set-to-">LISP-GPE with P-bit Set to 1</name>
        <artwork align="left" name="" type="" alt="" pn="section-3-7.1">      
 0 x 0 0 x 1 x x 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|P|K|K|             0x0000            | Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Instance ID/Locator-Status-Bits               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <dl newline="false" spacing="normal" indent="3" pn="section-3-8">
        <dt pn="section-3-8.1">Next Protocol:</dt>
        <dd pn="section-3-8.2">When the P-bit is set to 1, the lower 8
          bits of the first 32-bit word are used to carry a Next Protocol.
          This 'Next Protocol' field contains the protocol of the encapsulated
          payload packet.</dd>
      </dl>
      <t indent="0" pn="section-3-9">This document defines the following Next Protocol values:</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-3-10">
        <dt pn="section-3-10.1">0x00:</dt>
        <dd pn="section-3-10.2">Reserved</dd>
        <dt pn="section-3-10.3">0x01:</dt>
        <dd pn="section-3-10.4">IPv4</dd>
        <dt pn="section-3-10.5">0x02:</dt>
        <dd pn="section-3-10.6">IPv6</dd>
        <dt pn="section-3-10.7">0x03:</dt>
        <dd pn="section-3-10.8">Ethernet</dd>
        <dt pn="section-3-10.9">0x04:</dt>
        <dd pn="section-3-10.10">Network Service Header (NSH) <xref target="RFC8300" format="default" sectionFormat="of" derivedContent="RFC8300"/></dd>
        <dt pn="section-3-10.11">0x05 to 0x7D:</dt>
        <dd pn="section-3-10.12">Unassigned</dd>
        <dt pn="section-3-10.13">0x7E and 0x7F:</dt>
        <dd pn="section-3-10.14">Experimentation and testing</dd>
        <dt pn="section-3-10.15">0x80 to 0xFD:</dt>
        <dd pn="section-3-10.16">Unassigned (shim headers)</dd>
        <dt pn="section-3-10.17">0xFE, 0xFF:</dt>
        <dd pn="section-3-10.18">Experimentation and testing (shim
              headers)</dd>
      </dl>
      <t indent="0" pn="section-3-11">The values are tracked in the IANA "LISP-GPE Next
        Protocol" registry, as described in <xref target="Next_protocol" format="default" sectionFormat="of" derivedContent="Section 6.1"/>.</t>
      <t indent="0" pn="section-3-12">Next Protocol values 0x7E, 0x7F, 0xFE, and 0xFF are assigned for
      experimentation and testing, as per <xref target="RFC3692" format="default" sectionFormat="of" derivedContent="RFC3692"/>.</t>
      <t indent="0" pn="section-3-13">Next Protocol values from 0x80 to 0xFD are assigned to protocols
      encoded as generic shim headers. All shim protocols <bcp14>MUST</bcp14> use the
      header structure in <xref target="shim" format="default" sectionFormat="of" derivedContent="Figure 4"/>, which includes a 'Next
      Protocol' field. When shim headers are used with other protocols
      identified by Next Protocol values from 0x00 to 0x7F, all the shim
      headers <bcp14>MUST</bcp14> come first.</t>
      <t indent="0" pn="section-3-14">Shim headers can be used to incrementally deploy new GPE features,
      keeping the processing of shim headers known to a given Tunnel Router (xTR)
      implementation in the 'fast' path (typically an Application-Specific Integrated 
      Circuit (ASIC)) while punting the
      processing of the remaining new GPE features to the 'slow' path.</t>
      <t indent="0" pn="section-3-15">Shim protocols <bcp14>MUST</bcp14> have the first 32 bits defined as:</t>
      <t keepWithNext="true" indent="0" pn="section-3-16"/>
      <figure anchor="shim" align="left" suppress-title="false" pn="figure-4">
        <name slugifiedName="name-shim-header">Shim Header</name>
        <artwork name="" type="" align="left" alt="" pn="section-3-17.1">
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |    Length     |   Reserved    | Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                    Protocol-Specific Fields                   ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <t keepWithPrevious="true" indent="0" pn="section-3-18"/>
      <t indent="0" pn="section-3-19">Where:</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-3-20">
        <dt pn="section-3-20.1">Type:</dt>
        <dd pn="section-3-20.2">This field identifies the different messages of
          this protocol.</dd>
        <dt pn="section-3-20.3">Length:</dt>
        <dd pn="section-3-20.4">This field indicates the length, in 4-octet units, of this protocol
          message, not including the first 4 octets.</dd>
        <dt pn="section-3-20.5">Reserved:</dt>
        <dd pn="section-3-20.6">The use of this field is reserved to the
          protocol defined in this message.</dd>
        <dt pn="section-3-20.7">Next Protocol:</dt>
        <dd pn="section-3-20.8">This field contains
          the protocol of the encapsulated payload. The values are tracked in
          the IANA "LISP-GPE Next Protocol" registry, as described in <xref target="Next_protocol" format="default" sectionFormat="of" derivedContent="Section 6.1"/>.</dd>
      </dl>
    </section>
    <section anchor="Deployments" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-implementation-and-deployme">Implementation and Deployment Considerations</name>
      <section anchor="Applicability" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-applicability-statement">Applicability Statement</name>
        <t indent="0" pn="section-4.1-1">LISP-GPE conforms, as a UDP-based encapsulation protocol, to the
        UDP usage guidelines specified in <xref target="RFC8085" format="default" sectionFormat="of" derivedContent="RFC8085"/>. The
        applicability of these guidelines is dependent on the underlay IP
        network and the nature of the encapsulated payload.</t>
        <t indent="0" pn="section-4.1-2"><xref target="RFC8085" format="default" sectionFormat="of" derivedContent="RFC8085"/> outlines two applicability scenarios for
        UDP applications: 1) the general Internet and 2) a controlled environment.
        A controlled environment means a single administrative domain or
        adjacent set of cooperating domains. A network in a controlled
        environment can be managed to operate under certain conditions, whereas,
        in the general Internet, this cannot be done. Hence, requirements for a
        tunnel protocol operating under a controlled environment can be less
        restrictive than the requirements of the general Internet.</t>
        <t indent="0" pn="section-4.1-3">The LISP-GPE scope of applicability is the same set of use cases
        covered by <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/> for the LISP
        data plane protocol. The common property of these use cases is a large
        set of cooperating entities seeking to communicate over the public
        Internet or other large underlay IP infrastructures while keeping the
        addressing and topology of the cooperating entities separate from the
        underlay and Internet topology, routing, and addressing.</t>
        <t indent="0" pn="section-4.1-4">LISP-GPE is meant to be deployed in network environments operated
        by a single operator or adjacent set of cooperating network operators
        that fit with the definition of controlled environments in <xref target="RFC8085" format="default" sectionFormat="of" derivedContent="RFC8085"/>.</t>
        <t indent="0" pn="section-4.1-5">For the purpose of this document, a Traffic-Managed Controlled
        Environment (TMCE), outlined in <xref target="RFC8086" format="default" sectionFormat="of" derivedContent="RFC8086"/>, is defined
        as an IP network that is traffic-engineered and/or otherwise managed
        (e.g., via the use of traffic rate limiters) to avoid congestion.
        Significant portions of the text in this section are based on <xref target="RFC8086" format="default" sectionFormat="of" derivedContent="RFC8086"/>.</t>
        <t indent="0" pn="section-4.1-6">It is the responsibility of the network operators to ensure that
        the guidelines/requirements in this section are followed as applicable
        to their LISP-GPE deployments.</t>
      </section>
      <section anchor="CongestionControl" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-congestion-control-function">Congestion-Control Functionality</name>
        <t indent="0" pn="section-4.2-1">LISP-GPE does not provide congestion-control functionality
        and relies on the payload protocol traffic for congestion control. As
        such, LISP-GPE <bcp14>MUST</bcp14> be used with congestion-controlled traffic or
        within a network that is traffic managed to avoid congestion (TMCE).
        An operator of a traffic-managed network (TMCE) may avoid congestion
        by careful provisioning of their networks, rate limiting of user data
        traffic, and traffic engineering according to path capacity.</t>
        <t indent="0" pn="section-4.2-2">Keeping in mind the recommendation above, new encapsulated
        payloads, when registered with LISP-GPE, <bcp14>MUST</bcp14> be accompanied by a set
        of guidelines derived from <xref target="RFC9300" format="default" sectionFormat="of" section="5" derivedLink="https://rfc-editor.org/rfc/rfc9300#section-5" derivedContent="RFC9300"/>.
        Such new protocols should be designed for explicit congestion signals
        to propagate consistently from lower-layer protocols into IP. Then, the
        IP internetwork layer can act as a portability layer to carry
        congestion notifications from non-IP-aware congested nodes up to the
        transport layer (L4). By following the guidelines in <xref target="I-D.ietf-tsvwg-ecn-encap-guidelines" format="default" sectionFormat="of" derivedContent="ENCAP-GUIDE"/>, subnetwork designers
        can enable a Layer 2 protocol to participate in congestion control
        without dropping packets, via propagation of Explicit Congestion
        Notification (ECN) data <xref target="RFC3168" format="default" sectionFormat="of" derivedContent="RFC3168"/> to receivers.</t>
      </section>
      <section anchor="UDPChecksum" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-udp-checksum">UDP Checksum</name>
        <t indent="0" pn="section-4.3-1">For IP payloads, <xref target="RFC9300" section="5.3" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9300#section-5.3" derivedContent="RFC9300"/> 
	specifies how to handle UDP
        checksums, encouraging implementors to consider UDP checksum usage
        guidelines in <xref target="RFC8085" section="3.4" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8085#section-3.4" derivedContent="RFC8085"/> when it is
        desirable to protect UDP and LISP headers against corruption.</t>
        <t indent="0" pn="section-4.3-2">In order to protect the integrity of LISP-GPE headers, options, and
        payloads (for example, to avoid misdelivery of payloads to different
        tenant systems in the case of data corruption), the outer UDP checksum <bcp14>SHOULD</bcp14>
        be used with LISP-GPE when transported over IPv4. The UDP checksum
        provides a statistical guarantee that a payload was not corrupted in
        transit. These integrity checks are not strong from a coding or
        cryptographic perspective and are not designed to detect
        physical-layer errors or malicious modifications of the datagram (see
        <xref target="RFC8085" section="3.4" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8085#section-3.4" derivedContent="RFC8085"/>). In deployments where such a
        risk exists, an operator <bcp14>SHOULD</bcp14> use additional data integrity
        mechanisms, such as those offered by IPsec.</t>
        <t indent="0" pn="section-4.3-3">An operator <bcp14>MAY</bcp14> choose to disable a UDP checksum and use a zero
        checksum if LISP-GPE packet integrity is provided by other data
        integrity mechanisms, such as IPsec or additional checksums, or if one
        of the conditions in <xref target="IPv6Checksum" format="default" sectionFormat="of" derivedContent="Section 4.3.1"/> (a, b, or c) is
        met.</t>
        <section anchor="IPv6Checksum" numbered="true" toc="include" removeInRFC="false" pn="section-4.3.1">
          <name slugifiedName="name-udp-zero-checksum-handling-">UDP Zero Checksum Handling with IPv6</name>
          <t indent="0" pn="section-4.3.1-1">By default, a UDP checksum <bcp14>MUST</bcp14> be used when LISP-GPE is
          transported over IPv6. A tunnel endpoint <bcp14>MAY</bcp14> be configured for use
          with a zero UDP checksum if additional requirements described in this
          section are met.</t>
          <t indent="0" pn="section-4.3.1-2">When LISP-GPE is used over IPv6, a UDP checksum is used to protect
          IPv6 headers, UDP headers, and LISP-GPE headers and payloads from
          potential data corruption. As such, by default, LISP-GPE <bcp14>MUST</bcp14> use a UDP
          checksum when transported over IPv6. An operator <bcp14>MAY</bcp14> choose to
          configure to operate with a zero UDP checksum if operating in a
          traffic-managed controlled environment, as stated in <xref target="Applicability" format="default" sectionFormat="of" derivedContent="Section 4.1"/>, if one of the following conditions is met:</t>
          <ol spacing="normal" type="a" indent="adaptive" start="1" pn="section-4.3.1-3">
	    <li pn="section-4.3.1-3.1" derivedCounter="a.">It is known that packet corruption is exceptionally
              unlikely (perhaps based on an operator's knowledge of equipment types in their
              underlay network), and the operator is willing to take the risk of
              undetected packet corruption.</li>
            <li pn="section-4.3.1-3.2" derivedCounter="b.">It is determined through observational measurements
	      (perhaps
     through historic or current traffic flows that use a non-zero
     checksum) that the level of packet corruption is tolerably low,
     and the operator is willing to take the risk of undetected
     corruption.</li>
            <li pn="section-4.3.1-3.3" derivedCounter="c.">LISP-GPE payloads are carrying applications that are tolerant
              of misdelivered or corrupted packets (perhaps through higher-layer 
	      checksum validation and/or reliability through retransmission).</li>
          </ol>
          <t indent="0" pn="section-4.3.1-4">In addition, LISP-GPE tunnel implementations using a zero UDP
          checksum <bcp14>MUST</bcp14> meet the following requirements:</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.3.1-5">
	    <li pn="section-4.3.1-5.1" derivedCounter="1.">Use of a UDP checksum over IPv6 <bcp14>MUST</bcp14> be the default
              configuration for all LISP-GPE tunnels.</li>
            <li pn="section-4.3.1-5.2" derivedCounter="2.">If LISP-GPE is used with a zero UDP checksum over IPv6, then
              such xTR implementations <bcp14>MUST</bcp14> meet all the requirements specified
              in <xref target="RFC6936" section="4" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6936#section-4" derivedContent="RFC6936"/> and requirement 1 
              specified in <xref target="RFC6936" section="5" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6936#section-5" derivedContent="RFC6936"/>.</li>
            <li pn="section-4.3.1-5.3" derivedCounter="3.">The Egress Tunnel Router (ETR) that decapsulates the packet <bcp14>SHOULD</bcp14> 
	    check that the source
              and destination IPv6 addresses are valid for the LISP-GPE tunnel
              that is configured to receive a zero UDP checksum and discard
              other packets that fail such checks.</li>
            <li pn="section-4.3.1-5.4" derivedCounter="4.">The Ingress Tunnel Router (ITR) that encapsulates the packet <bcp14>MAY</bcp14> 
	    use different IPv6
              source addresses for each LISP-GPE tunnel that uses zero UDP
              checksum mode in order to strengthen the decapsulator's check of
              the IPv6 source address (i.e., the same IPv6 source address is not
              to be used with more than one IPv6 destination address,
              irrespective of whether that destination address is a unicast or
              multicast address). When this is not possible, it is <bcp14>RECOMMENDED</bcp14>
              to use each source address for as few LISP-GPE tunnels that use a
            zero UDP checksum as is feasible.</li>
            <li pn="section-4.3.1-5.5" derivedCounter="5.">Measures <bcp14>SHOULD</bcp14> be taken to prevent LISP-GPE traffic over
              IPv6 with a zero UDP checksum from escaping into the general
              Internet. Examples of such measures include employing packet
              filters at the Proxy Egress Tunnel Router (PETR) and/or keeping logical or physical
              separation of the LISP network from networks in the general
              Internet.</li>
          </ol>
          <t indent="0" pn="section-4.3.1-6">The above requirements do not change the
          requirements specified in <xref target="RFC6935" format="default" sectionFormat="of" derivedContent="RFC6935"/>,
	  <xref target="RFC6936" format="default" sectionFormat="of" derivedContent="RFC6936"/>, or <xref target="RFC8200" format="default" sectionFormat="of" derivedContent="RFC8200"/>.</t>
          <t indent="0" pn="section-4.3.1-7">The requirement to check the source IPv6 address in addition to
          the destination IPv6 address, plus the recommendation against the reuse
          of source IPv6 addresses among LISP-GPE tunnels, collectively provide
          some mitigation for the absence of UDP checksum coverage of the IPv6
          header. A traffic-managed controlled environment that satisfies at
          least one of the three conditions listed at the beginning of this
          section provides additional assurance.</t>
        </section>
      </section>
      <section anchor="DSCP" numbered="true" toc="include" removeInRFC="false" pn="section-4.4">
        <name slugifiedName="name-dscp-ecn-ttl-and-8021q">DSCP, ECN, TTL, and 802.1Q</name>
        <t indent="0" pn="section-4.4-1">When encapsulating IP (including over Ethernet) packets, <xref target="RFC2983" format="default" sectionFormat="of" derivedContent="RFC2983"/> provides guidance for mapping packets that contain Differentiated Services Code Point 
	(DSCP) information between inner
        and outer IP headers. The Pipe model typically fits better with network
        virtualization. The DSCP value on the tunnel header is set based on a
        policy (which may be a fixed value, one based on the inner traffic
        class, or some other mechanism for grouping traffic). Some aspects of
        the Uniform model (which treats the inner and outer DSCP value as a
        single field by copying on ingress and egress) may also apply, such as
        the ability to remark the inner header on tunnel egress based on
        transit marking. However, the Uniform model is not conceptually
        consistent with network virtualization, which seeks to provide strong
        isolation between encapsulated traffic and the physical network.</t>
        <t indent="0" pn="section-4.4-2"><xref target="RFC6040" format="default" sectionFormat="of" derivedContent="RFC6040"/> describes the mechanism for exposing ECN
        capabilities on IP tunnels and propagating congestion markers to the
        inner packets. This behavior <bcp14>MUST</bcp14> be followed for IP packets
        encapsulated in LISP-GPE.</t>
        <t indent="0" pn="section-4.4-3">Though the Uniform model or the Pipe model could be used for TTL (or Hop Limit
        in the case of IPv6) handling when tunneling IP packets, the Pipe model is
        more aligned with network virtualization. <xref target="RFC2003" format="default" sectionFormat="of" derivedContent="RFC2003"/>
        provides guidance on handling TTL between inner IP headers and outer IP
        tunnels; this model is more aligned with the Pipe model and is
        recommended for use with LISP-GPE for network-virtualization
        applications.</t>
        <t indent="0" pn="section-4.4-4">When a LISP-GPE router performs Ethernet encapsulation, the inner
        802.1Q 3-bit Priority Code Point
        ('PCP') field <xref target="IEEE.802.1Q_2014" format="default" sectionFormat="of" derivedContent="IEEE.802.1Q_2014"/> <bcp14>MAY</bcp14> be mapped from the encapsulated frame to the DSCP
        codepoint of the Differentiated Services ('DS') field defined in <xref target="RFC2474" format="default" sectionFormat="of" derivedContent="RFC2474"/>.</t>
        <t indent="0" pn="section-4.4-5">When a LISP-GPE router performs Ethernet encapsulation, the
        inner-header 802.1Q VLAN Identifier (VID) <xref target="IEEE.802.1Q_2014" format="default" sectionFormat="of" derivedContent="IEEE.802.1Q_2014"/>
          <bcp14>MAY</bcp14> be mapped to, or used to determine, the LISP 'Instance ID'
        (IID) field.</t>
        <t indent="0" pn="section-4.4-6">Refer to <xref target="Security" format="default" sectionFormat="of" derivedContent="Section 7"/> for considerations about the use
        of integrity protection for deployments, such as the public Internet,
        concerned with on-path attackers.</t>
      </section>
    </section>
    <section anchor="Compatibility" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-backward-compatibility">Backward Compatibility</name>
      <t indent="0" pn="section-5-1">LISP-GPE uses the same UDP destination port (4341) allocated to
      LISP.</t>
      <t indent="0" pn="section-5-2">When encapsulating IP packets to a non-LISP-GPE-capable router, the
      P-bit <bcp14>MUST</bcp14> be set to 0. That is, the encapsulation format defined in
      this document <bcp14>MUST NOT</bcp14> be sent to a router that has not indicated that
      it supports this specification, because such a router would ignore the
      P-bit (as described in <xref target="RFC9300" format="default" sectionFormat="of" derivedContent="RFC9300"/>) and so
      would misinterpret the other LISP header fields, possibly causing
      significant errors.</t>
      <section anchor="ETR_CAPABILITIES" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-detection-of-etr-capabiliti">Detection of ETR Capabilities</name>
        <t indent="0" pn="section-5.1-1">The discovery of xTR capabilities to support LISP-GPE is out of the
        scope of this document. Given that the applicability domain of
        LISP-GPE is a traffic-managed controlled environment, ITR/ETR (xTR)
        configuration mechanisms may be used for this purpose.</t>
      </section>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1"/>
      <section anchor="Next_protocol" numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-lisp-gpe-next-protocol-regi">LISP-GPE Next Protocol Registry</name>
        <t indent="0" pn="section-6.1-1">IANA has created a registry called "LISP-GPE Next Protocol".
        These are 8-bit values. Next Protocol values in the table below are
        defined in this document. New values are assigned under the
        Specification Required policy <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>. The protocols
        that are being assigned values do not themselves need to be IETF
        Standards Track protocols.</t>
        <table align="center" pn="table-1">
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Next Protocol</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">0x00</td>
              <td align="left" colspan="1" rowspan="1">Reserved</td>
              <td align="left" colspan="1" rowspan="1">RFC 9305</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0x01</td>
              <td align="left" colspan="1" rowspan="1">IPv4</td>
              <td align="left" colspan="1" rowspan="1">RFC 9305</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0x02</td>
              <td align="left" colspan="1" rowspan="1">IPv6</td>
              <td align="left" colspan="1" rowspan="1">RFC 9305</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0x03</td>
              <td align="left" colspan="1" rowspan="1">Ethernet</td>
              <td align="left" colspan="1" rowspan="1">RFC 9305</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0x04</td>
              <td align="left" colspan="1" rowspan="1">NSH</td>
              <td align="left" colspan="1" rowspan="1">RFC 9305</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0x05-0x7D</td>
              <td align="left" colspan="1" rowspan="1">Unassigned</td>
              <td align="left" colspan="1" rowspan="1"/>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0x7E-0x7F</td>
              <td align="left" colspan="1" rowspan="1">Experimentation and testing</td>
              <td align="left" colspan="1" rowspan="1">RFC 9305</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0x80-0xFD</td>
              <td align="left" colspan="1" rowspan="1">Unassigned (shim headers)</td>
              <td align="left" colspan="1" rowspan="1"/>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">0xFE-0xFF</td>
              <td align="left" colspan="1" rowspan="1">Experimentation and testing (shim headers)</td>
              <td align="left" colspan="1" rowspan="1">RFC 9305</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-7-1">LISP-GPE security considerations are similar to the LISP security
      considerations and mitigation techniques documented in <xref target="RFC7835" format="default" sectionFormat="of" derivedContent="RFC7835"/>.</t>
      <t indent="0" pn="section-7-2">As is the case for many encapsulations that use optional extensions, LISP-GPE is
      subject to on-path adversaries that can make arbitrary modifications to
      the packet (including the P-bit) to change or remove any part of the
      payload, or claim to encapsulate any protocol payload type. Typical
      integrity protection mechanisms (such as IPsec) <bcp14>SHOULD</bcp14> be used in
      combination with LISP-GPE by those protocol extensions that want to
      protect against on-path attackers.</t>
      <t indent="0" pn="section-7-3">With LISP-GPE, issues such as data plane spoofing, flooding, and
      traffic redirection may depend on the particular protocol payload
      encapsulated.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-tsvwg-ecn-encap-guidelines" to="ENCAP-GUIDE"/>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="IEEE.802.1Q_2014" target="https://ieeexplore.ieee.org/document/6991462" quoteTitle="true" derivedAnchor="IEEE.802.1Q_2014">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks--Bridges and Bridged Networks</title>
            <author>
              <organization showOnFrontPage="true">IEEE</organization>
            </author>
            <date month="December" year="2014"/>
          </front>
          <refcontent>IEEE Std 802.1Q-2014</refcontent>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized.  This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6040" target="https://www.rfc-editor.org/info/rfc6040" quoteTitle="true" derivedAnchor="RFC6040">
          <front>
            <title>Tunnelling of Explicit Congestion Notification</title>
            <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
            <date month="November" year="2010"/>
            <abstract>
              <t indent="0">This document redefines how the explicit congestion notification (ECN) field of the IP header should be constructed on entry to and exit from any IP-in-IP tunnel.  On encapsulation, it updates RFC 3168 to bring all IP-in-IP tunnels (v4 or v6) into line with RFC 4301 IPsec ECN processing.  On decapsulation, it updates both RFC 3168 and RFC 4301 to add new behaviours for previously unused combinations of inner and outer headers.  The new rules ensure the ECN field is correctly propagated across a tunnel whether it is used to signal one or two severity levels of congestion; whereas before, only one severity level was supported.  Tunnel endpoints can be updated in any order without affecting pre-existing uses of the ECN field, thus ensuring backward compatibility.  Nonetheless, operators wanting to support two severity levels (e.g., for pre-congestion notification -- PCN) can require compliance with this new specification.  A thorough analysis of the reasoning for these changes and the implications is included.  In the unlikely event that the new rules do not meet a specific need, RFC 4774 gives guidance on designing alternate ECN semantics, and this document extends that to include tunnelling issues. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6040"/>
          <seriesInfo name="DOI" value="10.17487/RFC6040"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9300" target="https://www.rfc-editor.org/info/rfc9300" quoteTitle="true" derivedAnchor="RFC9300">
          <front>
            <title>The Locator/ID Separation Protocol (LISP)</title>
            <author initials="D" surname="Farinacci" fullname="Dino Farinacci">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V" surname="Fuller" fullname="Vince Fuller">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Meyer" fullname="David Meyer">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D" surname="Lewis" fullname="Darrel Lewis">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Cabellos" fullname="Albert Cabellos" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="October" year="2022"/>
          </front>
          <seriesInfo name="RFC" value="9300"/>
          <seriesInfo name="DOI" value="10.17487/RFC9300"/>
        </reference>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-tsvwg-ecn-encap-guidelines" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-ecn-encap-guidelines-17" derivedAnchor="ENCAP-GUIDE">
          <front>
            <title>Guidelines for Adding Congestion Notification to Protocols that Encapsulate IP</title>
            <author initials="B." surname="Briscoe" fullname="Bob Briscoe">
              <organization showOnFrontPage="true">Independent</organization>
            </author>
            <author initials="J." surname="Kaippallimalil" fullname="John Kaippallimalil">
              <organization showOnFrontPage="true">Futurewei</organization>
            </author>
            <date month="July" day="11" year="2022"/>
            <abstract>
              <t indent="0">   The purpose of this document is to guide the design of congestion
   notification in any lower layer or tunnelling protocol that
   encapsulates IP.  The aim is for explicit congestion signals to
   propagate consistently from lower layer protocols into IP.  Then the
   IP internetwork layer can act as a portability layer to carry
   congestion notification from non-IP-aware congested nodes up to the
   transport layer (L4).  Following these guidelines should assure
   interworking among IP layer and lower layer congestion notification
   mechanisms, whether specified by the IETF or other standards bodies.
   This document updates the advice to subnetwork designers about ECN in
   RFC 3819.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-ecn-encap-guidelines-17"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-tsvwg-ecn-encap-guidelines-17.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC2003" target="https://www.rfc-editor.org/info/rfc2003" quoteTitle="true" derivedAnchor="RFC2003">
          <front>
            <title>IP Encapsulation within IP</title>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="October" year="1996"/>
            <abstract>
              <t indent="0">This document specifies a method by which an IP datagram may be encapsulated (carried as payload) within an IP datagram. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2003"/>
          <seriesInfo name="DOI" value="10.17487/RFC2003"/>
        </reference>
        <reference anchor="RFC2474" target="https://www.rfc-editor.org/info/rfc2474" quoteTitle="true" derivedAnchor="RFC2474">
          <front>
            <title>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</title>
            <author fullname="K. Nichols" initials="K." surname="Nichols"/>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="December" year="1998"/>
            <abstract>
              <t indent="0">This document defines the IP header field, called the DS (for differentiated services) field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2474"/>
          <seriesInfo name="DOI" value="10.17487/RFC2474"/>
        </reference>
        <reference anchor="RFC2983" target="https://www.rfc-editor.org/info/rfc2983" quoteTitle="true" derivedAnchor="RFC2983">
          <front>
            <title>Differentiated Services and Tunnels</title>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="October" year="2000"/>
            <abstract>
              <t indent="0">This document considers the interaction of Differentiated Services (diffserv) with IP tunnels of various forms.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2983"/>
          <seriesInfo name="DOI" value="10.17487/RFC2983"/>
        </reference>
        <reference anchor="RFC3168" target="https://www.rfc-editor.org/info/rfc3168" quoteTitle="true" derivedAnchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t indent="0">This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="RFC3692" target="https://www.rfc-editor.org/info/rfc3692" quoteTitle="true" derivedAnchor="RFC3692">
          <front>
            <title>Assigning Experimental and Testing Numbers Considered Useful</title>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="January" year="2004"/>
            <abstract>
              <t indent="0">When experimenting with or extending protocols, it is often necessary to use some sort of protocol number or constant in order to actually test or experiment with the new function, even when testing in a closed environment.  For example, to test a new DHCP option, one needs an option number to identify the new function.  This document recommends that when writing IANA Considerations sections, authors should consider assigning a small range of numbers for experimentation purposes that implementers can use when testing protocol extensions or other new features.  This document reserves some ranges of numbers for experimentation purposes in specific protocols where the need to support experimentation has been identified.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="82"/>
          <seriesInfo name="RFC" value="3692"/>
          <seriesInfo name="DOI" value="10.17487/RFC3692"/>
        </reference>
        <reference anchor="RFC6935" target="https://www.rfc-editor.org/info/rfc6935" quoteTitle="true" derivedAnchor="RFC6935">
          <front>
            <title>IPv6 and UDP Checksums for Tunneled Packets</title>
            <author fullname="M. Eubanks" initials="M." surname="Eubanks"/>
            <author fullname="P. Chimento" initials="P." surname="Chimento"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">This document updates the IPv6 specification (RFC 2460) to improve performance when a tunnel protocol uses UDP with IPv6 to tunnel packets.  The performance improvement is obtained by relaxing the IPv6 UDP checksum requirement for tunnel protocols whose header information is protected on the "inner" packet being carried.  Relaxing this requirement removes the overhead associated with the computation of UDP checksums on IPv6 packets that carry the tunnel protocol packets.  This specification describes how the IPv6 UDP checksum requirement can be relaxed when the encapsulated packet itself contains a checksum.  It also describes the limitations and risks of this approach and discusses the restrictions on the use of this method.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6935"/>
          <seriesInfo name="DOI" value="10.17487/RFC6935"/>
        </reference>
        <reference anchor="RFC6936" target="https://www.rfc-editor.org/info/rfc6936" quoteTitle="true" derivedAnchor="RFC6936">
          <front>
            <title>Applicability Statement for the Use of IPv6 UDP Datagrams with Zero Checksums</title>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">This document provides an applicability statement for the use of UDP transport checksums with IPv6.  It defines recommendations and requirements for the use of IPv6 UDP datagrams with a zero UDP checksum.  It describes the issues and design principles that need to be considered when UDP is used with IPv6 to support tunnel encapsulations, and it examines the role of the IPv6 UDP transport checksum.  The document also identifies issues and constraints for deployment on network paths that include middleboxes.  An appendix presents a summary of the trade-offs that were considered in evaluating the safety of the update to RFC 2460 that changes the use of the UDP checksum with IPv6.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6936"/>
          <seriesInfo name="DOI" value="10.17487/RFC6936"/>
        </reference>
        <reference anchor="RFC7348" target="https://www.rfc-editor.org/info/rfc7348" quoteTitle="true" derivedAnchor="RFC7348">
          <front>
            <title>Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks</title>
            <author fullname="M. Mahalingam" initials="M." surname="Mahalingam"/>
            <author fullname="D. Dutt" initials="D." surname="Dutt"/>
            <author fullname="K. Duda" initials="K." surname="Duda"/>
            <author fullname="P. Agarwal" initials="P." surname="Agarwal"/>
            <author fullname="L. Kreeger" initials="L." surname="Kreeger"/>
            <author fullname="T. Sridhar" initials="T." surname="Sridhar"/>
            <author fullname="M. Bursell" initials="M." surname="Bursell"/>
            <author fullname="C. Wright" initials="C." surname="Wright"/>
            <date month="August" year="2014"/>
            <abstract>
              <t indent="0">This document describes Virtual eXtensible Local Area Network (VXLAN), which is used to address the need for overlay networks within virtualized data centers accommodating multiple tenants.  The scheme and the related protocols can be used in networks for cloud service providers and enterprise data centers.  This memo documents the deployed VXLAN protocol for the benefit of the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7348"/>
          <seriesInfo name="DOI" value="10.17487/RFC7348"/>
        </reference>
        <reference anchor="RFC7835" target="https://www.rfc-editor.org/info/rfc7835" quoteTitle="true" derivedAnchor="RFC7835">
          <front>
            <title>Locator/ID Separation Protocol (LISP) Threat Analysis</title>
            <author fullname="D. Saucez" initials="D." surname="Saucez"/>
            <author fullname="L. Iannone" initials="L." surname="Iannone"/>
            <author fullname="O. Bonaventure" initials="O." surname="Bonaventure"/>
            <date month="April" year="2016"/>
            <abstract>
              <t indent="0">This document provides a threat analysis of the Locator/ID Separation Protocol (LISP).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7835"/>
          <seriesInfo name="DOI" value="10.17487/RFC7835"/>
        </reference>
        <reference anchor="RFC8085" target="https://www.rfc-editor.org/info/rfc8085" quoteTitle="true" derivedAnchor="RFC8085">
          <front>
            <title>UDP Usage Guidelines</title>
            <author fullname="L. Eggert" initials="L." surname="Eggert"/>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="G. Shepherd" initials="G." surname="Shepherd"/>
            <date month="March" year="2017"/>
            <abstract>
              <t indent="0">The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms. This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP. Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
              <t indent="0">Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic. They may also need to implement additional mechanisms, depending on how they use UDP.</t>
              <t indent="0">Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control.</t>
              <t indent="0">This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="145"/>
          <seriesInfo name="RFC" value="8085"/>
          <seriesInfo name="DOI" value="10.17487/RFC8085"/>
        </reference>
        <reference anchor="RFC8086" target="https://www.rfc-editor.org/info/rfc8086" quoteTitle="true" derivedAnchor="RFC8086">
          <front>
            <title>GRE-in-UDP Encapsulation</title>
            <author fullname="L. Yong" initials="L." role="editor" surname="Yong"/>
            <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
            <author fullname="X. Xu" initials="X." surname="Xu"/>
            <author fullname="T. Herbert" initials="T." surname="Herbert"/>
            <date month="March" year="2017"/>
            <abstract>
              <t indent="0">This document specifies a method of encapsulating network protocol packets within GRE and UDP headers.  This GRE-in-UDP encapsulation allows the UDP source port field to be used as an entropy field.  This may be used for load-balancing of GRE traffic in transit networks using existing Equal-Cost Multipath (ECMP) mechanisms.  There are two applicability scenarios for GRE-in-UDP with different requirements: (1) general Internet and (2) a traffic-managed controlled environment.  The controlled environment has less restrictive requirements than the general Internet.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8086"/>
          <seriesInfo name="DOI" value="10.17487/RFC8086"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8200" target="https://www.rfc-editor.org/info/rfc8200" quoteTitle="true" derivedAnchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t indent="0">This document specifies version 6 of the Internet Protocol (IPv6).  It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </reference>
        <reference anchor="RFC8300" target="https://www.rfc-editor.org/info/rfc8300" quoteTitle="true" derivedAnchor="RFC8300">
          <front>
            <title>Network Service Header (NSH)</title>
            <author fullname="P. Quinn" initials="P." role="editor" surname="Quinn"/>
            <author fullname="U. Elzur" initials="U." role="editor" surname="Elzur"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <date month="January" year="2018"/>
            <abstract>
              <t indent="0">This document describes a Network Service Header (NSH) imposed on packets or frames to realize Service Function Paths (SFPs).  The NSH also provides a mechanism for metadata exchange along the instantiated service paths.  The NSH is the Service Function Chaining (SFC) encapsulation required to support the SFC architecture (defined in RFC 7665).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8300"/>
          <seriesInfo name="DOI" value="10.17487/RFC8300"/>
        </reference>
        <reference anchor="VXLAN-GPE" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-brockners-ippm-ioam-vxlan-gpe-03" derivedAnchor="VXLAN-GPE">
          <front>
            <title>VXLAN-GPE Encapsulation for In-situ OAM Data</title>
            <author initials="F." surname="Brockners" fullname="Frank Brockners">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="S." surname="Bhandari" fullname="Shwetha Bhandari">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="V." surname="Govindan" fullname="Vengada Prasad Govindan">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="C." surname="Pignataro" fullname="Carlos Pignataro">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="H." surname="Gredler" fullname="Hannes Gredler">
              <organization showOnFrontPage="true">RtBrick Inc.</organization>
            </author>
            <author initials="J." surname="Leddy" fullname="John Leddy">
         </author>
            <author initials="S." surname="Youell" fullname="Stephen Youell">
              <organization showOnFrontPage="true">JP Morgan Chase</organization>
            </author>
            <author initials="T." surname="Mizrahi" fullname="Tal Mizrahi">
              <organization showOnFrontPage="true">Huawei Network.IO Innovation Lab</organization>
            </author>
            <author initials="A." surname="Kfir" fullname="Aviv Kfir">
              <organization showOnFrontPage="true">Mellanox Technologies, Inc.</organization>
            </author>
            <author initials="B." surname="Gafni" fullname="Barak Gafni">
              <organization showOnFrontPage="true">Mellanox Technologies, Inc.</organization>
            </author>
            <author initials="P." surname="Lapukhov" fullname="Petr Lapukhov">
              <organization showOnFrontPage="true">Facebook</organization>
            </author>
            <author initials="M." surname="Spiegel" fullname="Mickey Spiegel">
              <organization showOnFrontPage="true">Barefoot Networks</organization>
            </author>
            <date month="November" day="4" year="2019"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-brockners-ippm-ioam-vxlan-gpe-03"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="VXLAN-LISP" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-lemon-vxlan-lisp-gpe-gbp-02" derivedAnchor="VXLAN-LISP">
          <front>
            <title>Group Policy Encoding with VXLAN-GPE and LISP-GPE</title>
            <author initials="J" surname="Lemon" fullname="John Lemon" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F" surname="Maino" fullname="Fabio Maino">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M" surname="Smith" fullname="Michael Smith">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Isaac" fullname="Aldrin Isaac">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="April" day="30" year="2019"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lemon-vxlan-lisp-gpe-gbp-02"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgments" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">A special thank you goes to <contact fullname="Dino Farinacci"/> for his guidance and
      detailed review. Thanks to <contact fullname="Tom Herbert"/> for the suggestion to assign
      codepoints for experimentations and testing.</t>
    </section>
    <section anchor="Contributors" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.b-1">The editor of this document would like to thank and recognize the
   following coauthors and contributors for their contributions.  These
   coauthors and contributors provided invaluable concepts and content
   for this document's creation.</t>
      <contact fullname="Darrel Lewis">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address/>
      </contact>
      <contact fullname="Fabio Maino">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address/>
      </contact>
      <contact fullname="Paul Quinn">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address/>
      </contact>
      <contact fullname="Michael Smith">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address/>
      </contact>
      <contact fullname="Navindra Yadav">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address/>
      </contact>
      <contact fullname="Larry Kreeger">
        <organization showOnFrontPage="true"/>
        <address/>
      </contact>
      <contact fullname="Jennifer Lemon">
        <organization showOnFrontPage="true">Broadcom</organization>
        <address/>
      </contact>
      <contact fullname="Puneet Agarwal">
        <organization showOnFrontPage="true">Innovium</organization>
        <address/>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Fabio Maino" initials="F." role="editor" surname="Maino">
        <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <street/>
            <city>San Jose</city>
            <region>CA</region>
            <code/>
            <country>United States of America</country>
          </postal>
          <email>fmaino@cisco.com</email>
        </address>
      </author>
      <author fullname="Jennifer Lemon" initials="J." surname="Lemon">
        <organization showOnFrontPage="true"/>
        <address>
          <email>jalemon@meus.us</email>
        </address>
      </author>
      <author fullname="Puneet Agarwal" initials="P." surname="Agarwal">
        <organization showOnFrontPage="true">Innovium</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country>United States of America</country>
          </postal>
          <email>puneet@acm.org</email>
        </address>
      </author>
      <author fullname="Darrel Lewis" initials="D." surname="Lewis">
        <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <street/>
            <city>San Jose</city>
            <region>CA</region>
            <country>United States of America</country>
          </postal>
          <email>darlewis@cisco.com</email>
        </address>
      </author>
      <author fullname="Michael Smith" initials="M." surname="Smith">
        <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems</organization>
        <address>
          <postal>
            <street/>
            <city>San Jose</city>
            <region>CA</region>
            <code>95134</code>
            <country>United States of America</country>
          </postal>
          <email>michsmit@cisco.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
