rfc9305.original   rfc9305.txt 
Internet Engineering Task Force F. Maino, Ed. Internet Engineering Task Force (IETF) F. Maino, Ed.
Internet-Draft Cisco Request for Comments: 9305 Cisco
Intended status: Standards Track J. Lemon Category: Standards Track J. Lemon
Expires: January 27, 2021 Broadcom ISSN: 2070-1721
P. Agarwal P. Agarwal
Innovium Innovium
D. Lewis D. Lewis
M. Smith M. Smith
Cisco Cisco
July 26, 2020 October 2022
LISP Generic Protocol Extension Locator/ID Separation Protocol (LISP) Generic Protocol Extension
draft-ietf-lisp-gpe-19
Abstract Abstract
This document describes extensions to the Locator/ID Separation This document describes extensions to the Locator/ID Separation
Protocol (LISP) Data-Plane, via changes to the LISP header, to Protocol (LISP) data plane, via changes to the LISP header, to
support multi-protocol encapsulation and allow to introduce new support multiprotocol encapsulation and allow the introduction of new
protocol capabilities. protocol capabilities.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on January 27, 2021. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9305.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Revised BSD License text as described in Section 4.e of the
the Trust Legal Provisions and are provided without warranty as Trust Legal Provisions and are provided without warranty as described
described in the Simplified BSD License. in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
1.1. Conventions . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Conventions
1.2. Definition of Terms . . . . . . . . . . . . . . . . . . . 3 1.2. Definitions of Terms
2. LISP Header Without Protocol Extensions . . . . . . . . . . . 3 2. LISP Header without Protocol Extensions
3. Generic Protocol Extension for LISP (LISP-GPE) . . . . . . . 4 3. LISP Generic Protocol Extension (LISP-GPE)
4. Implementation and Deployment Considerations . . . . . . . . 6 4. Implementation and Deployment Considerations
4.1. Applicability Statement . . . . . . . . . . . . . . . . . 6 4.1. Applicability Statement
4.2. Congestion Control Functionality . . . . . . . . . . . . 7 4.2. Congestion-Control Functionality
4.3. UDP Checksum . . . . . . . . . . . . . . . . . . . . . . 8 4.3. UDP Checksum
4.3.1. UDP Zero Checksum Handling with IPv6 . . . . . . . . 8 4.3.1. UDP Zero Checksum Handling with IPv6
4.4. DSCP, ECN, TTL, and 802.1Q . . . . . . . . . . . . . . . 10 4.4. DSCP, ECN, TTL, and 802.1Q
5. Backward Compatibility . . . . . . . . . . . . . . . . . . . 11 5. Backward Compatibility
5.1. Detection of ETR Capabilities . . . . . . . . . . . . . . 11 5.1. Detection of ETR Capabilities
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 6. IANA Considerations
6.1. LISP-GPE Next Protocol Registry . . . . . . . . . . . . . 11 6.1. LISP-GPE Next Protocol Registry
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations
8. Acknowledgements and Contributors . . . . . . . . . . . . . . 12 8. References
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.1. Normative References
9.1. Normative References . . . . . . . . . . . . . . . . . . 13 8.2. Informative References
9.2. Informative References . . . . . . . . . . . . . . . . . 14 Acknowledgments
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 Contributors
Authors' Addresses
1. Introduction 1. Introduction
The LISP Data-Plane is defined in [I-D.ietf-lisp-rfc6830bis]. It The LISP data plane is defined in [RFC9300]. It specifies an
specifies an encapsulation format that carries IPv4 or IPv6 packets encapsulation format that carries IPv4 or IPv6 packets (henceforth
(henceforth jointly referred to as IP) in a LISP header and outer jointly referred to as IP) in a LISP header and outer UDP/IP
UDP/IP transport. transport.
The LISP Data-Plane header does not specify the protocol being The LISP data plane header does not specify the protocol being
encapsulated and therefore is currently limited to encapsulating only encapsulated and, therefore, is currently limited to encapsulating
IP packet payloads. Other protocols, most notably Virtual eXtensible only IP packet payloads. Other protocols, most notably the Virtual
Local Area Network (VXLAN) [RFC7348] (which defines a similar header eXtensible Local Area Network (VXLAN) protocol [RFC7348] (which
format to LISP), are used to encapsulate Layer-2 (L2) protocols such defines a header format similar to LISP), are used to encapsulate
as Ethernet. Layer 2 (L2) protocols, such as Ethernet.
This document defines an extension for the LISP header, as defined in This document defines an extension for the LISP header, as defined in
[I-D.ietf-lisp-rfc6830bis], to indicate the inner protocol, enabling [RFC9300], to indicate the inner protocol, enabling the encapsulation
the encapsulation of Ethernet, IP or any other desired protocol all of Ethernet, IP, or any other desired protocol, all the while
the while ensuring compatibility with existing LISP deployments. ensuring compatibility with existing LISP deployments.
A flag in the LISP header, called the P-bit, is used to signal the 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, presence of the 8-bit 'Next Protocol' field. The 'Next Protocol'
when present, uses 8 bits of the field that was allocated to the field, when present, uses 8 bits of the field that was allocated to
echo-noncing and map-versioning features in the Echo-Noncing and Map-Versioning features in [RFC9300]. Those two
[I-D.ietf-lisp-rfc6830bis]. Those two features are no longer features are no longer available when the P-bit is used. However,
available when the P-bit is used. However, appropriate LISP-GPE appropriate LISP Generic Protocol Extension (LISP-GPE) shim headers
(LISP Generic Protocol Extension) shim headers can be defined to can be defined to specify capabilities that are equivalent to Echo-
specify capabilities that are equivalent to echo-noncing and/or map- Noncing and/or Map-Versioning.
versioning.
Since all of the reserved bits of the LISP Data-Plane header have 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- been allocated, LISP-GPE can also be used to extend the LISP data
Plane header by defining Next Protocol "shim" headers that implements plane header by defining Next Protocol shim headers that implement
new data plane functions not supported in the LISP header. For new data plane functions not supported in the LISP header. For
example, the use of the Group-Based Policy (GBP) header example, the use of the Group-Based Policy (GBP) header [VXLAN-LISP]
[I-D.lemon-vxlan-lisp-gpe-gbp] or of the In-situ Operations, or of the In situ Operations, Administration, and Maintenance (IOAM)
Administration, and Maintenance (IOAM) header header [VXLAN-GPE] with LISP-GPE can be considered an extension to
[I-D.brockners-ippm-ioam-vxlan-gpe] with LISP-GPE, can be considered add support in the data plane for GBP functionalities or IOAM
an extension to add support in the Data-Plane for Group-Based Policy metadata.
functionalities or IOAM metadata.
1.1. Conventions 1.1. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
1.2. Definition of Terms 1.2. Definitions of Terms
This document uses terms already defined in This document uses terms already defined in [RFC9300].
[I-D.ietf-lisp-rfc6830bis].
2. LISP Header Without Protocol Extensions 2. LISP Header without Protocol Extensions
As described in Section 1, the LISP header has no protocol identifier As described in Section 1, the LISP header has no protocol identifier
that indicates the type of payload being carried. Because of this, that indicates the type of payload being carried. Because of this,
LISP is limited to carrying IP payloads. LISP is limited to carrying IP payloads.
The LISP header [I-D.ietf-lisp-rfc6830bis] contains a series of flags The LISP header [RFC9300] contains a series of flags (some defined,
(some defined, some reserved), a Nonce/Map-version field and an some reserved), a 'Nonce/Map-Version' field, and an 'Instance ID/
instance ID/Locator-status-bit field. The flags provide flexibility Locator-Status-Bits' field. The flags provide flexibility to define
to define how the various fields are encoded. Notably, Flag bit 5 is how the various fields are encoded. Notably, Flag bit 5 is the last
the last reserved bit in the LISP header. reserved bit in the LISP header.
0 1 2 3 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 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 | |N|L|E|V|I|R|K|K| Nonce/Map-Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Instance ID/Locator-Status-Bits | | Instance ID/Locator-Status-Bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: LISP Header Figure 1: LISP Header
3. Generic Protocol Extension for LISP (LISP-GPE) 3. LISP Generic Protocol Extension (LISP-GPE)
This document defines two changes to the LISP header in order to This document defines two changes to the LISP header in order to
support multi-protocol encapsulation: the introduction of the P-bit support multiprotocol encapsulation: the introduction of the P-bit
and the definition of a Next Protocol field. This document specifies and the definition of a 'Next Protocol' field. This document
the protocol behavior when the P-bit is set to 1, no changes are specifies the protocol behavior when the P-bit is set to 1; no
introduced when the P-bit is set to 0. The LISP-GPE header is shown changes are introduced when the P-bit is set to 0. The LISP-GPE
in Figure 2 and described below. header is shown in Figure 2 and described below.
0 1 2 3 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 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 | |N|L|E|V|I|P|K|K| Nonce/Map-Version/Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Instance ID/Locator-Status-Bits | | Instance ID/Locator-Status-Bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: LISP-GPE Header Figure 2: LISP-GPE Header
P-Bit: Flag bit 5 is defined as the Next Protocol bit. The P-bit is P-Bit: 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 set to 1 to indicate the presence of the 8-bit 'Next Protocol'
field. field.
If the P-bit is clear (0) the LISP header is bit-by-bit equivalent If the P-bit is clear (0), the LISP header is bit-by-bit equivalent
to the definition in [I-D.ietf-lisp-rfc6830bis]. to the definition in [RFC9300].
When the P-bit is set to 1, bits N, E, V, and bits 8-23 of the 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 MUST be set to zero on 'Nonce/Map-Version/Next Protocol' field MUST be set to zero on
transmission and MUST be ignored on receipt. Features equivalent transmission and MUST be ignored on receipt. Features equivalent to
to those that were implemented with bits N,E and V in those that were implemented with bits N, E, and V in [RFC9300], such
[I-D.ietf-lisp-rfc6830bis], such as echo-noncing and map- as Echo-Noncing and Map-Versioning, can be implemented by defining
versioning, can be implemented by defining appropriate LISP-GPE appropriate LISP-GPE shim headers.
shim headers.
When the P-bit is set to 1, the LISP-GPE header is encoded as: When the P-bit is set to 1, the LISP-GPE header is encoded as:
0 x 0 0 x 1 x x 0 x 0 0 x 1 x x
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|P|K|K| 0x0000 | Next Protocol | |N|L|E|V|I|P|K|K| 0x0000 | Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Instance ID/Locator-Status-Bits | | Instance ID/Locator-Status-Bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: LISP-GPE with P-bit set to 1 Figure 3: LISP-GPE with P-bit Set to 1
Next Protocol: When the P-bit is set to 1, the lower 8 bits of the Next Protocol: 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 first 32-bit word are used to carry a Next Protocol. This 'Next
Protocol field contains the protocol of the encapsulated payload Protocol' field contains the protocol of the encapsulated payload
packet. packet.
This document defines the following Next Protocol values: This document defines the following Next Protocol values:
0x00 : Reserved 0x00: Reserved
0x01 : IPv4 0x01: IPv4
0x02 : IPv6 0x02: IPv6
0x03 : Ethernet 0x03: Ethernet
0x04 : Network Service Header (NSH) [RFC8300] 0x04: Network Service Header (NSH) [RFC8300]
0x05 to 0x7D: Unassigned 0x05 to 0x7D: Unassigned
0x7E, 0x7F: Experimentation and testing 0x7E and 0x7F: Experimentation and testing
0x80 to 0xFD: Unassigned (shim headers) 0x80 to 0xFD: Unassigned (shim headers)
0xFE, 0xFF: Experimentation and testing (shim headers) 0xFE, 0xFF: Experimentation and testing (shim headers)
The values are tracked in the IANA LISP-GPE Next Protocol Registry The values are tracked in the IANA "LISP-GPE Next Protocol" registry,
as described in Section 6.1. as described in Section 6.1.
Next protocol values 0x7E, 0x7F and 0xFE, 0xFF are assigned for Next Protocol values 0x7E, 0x7F, 0xFE, and 0xFF are assigned for
experimentation and testing as per [RFC3692]. experimentation and testing, as per [RFC3692].
Next protocol values from Ox80 to 0xFD are assigned to protocols Next Protocol values from 0x80 to 0xFD are assigned to protocols
encoded as generic "shim" headers. All shim protocols MUST use the encoded as generic shim headers. All shim protocols MUST use the
header structure in Figure 4, which includes a Next Protocol field. header structure in Figure 4, which includes a 'Next Protocol' field.
When shim headers are used with other protocols identified by next When shim headers are used with other protocols identified by Next
protocol values from 0x00 to 0x7F, all the shim headers MUST come Protocol values from 0x00 to 0x7F, all the shim headers MUST come
first. first.
Shim headers can be used to incrementally deploy new GPE features, Shim headers can be used to incrementally deploy new GPE features,
keeping the processing of shim headers known to a given xTR keeping the processing of shim headers known to a given Tunnel Router
implementation in the 'fast' path (typically an ASIC), while punting (xTR) implementation in the 'fast' path (typically an Application-
the processing of the remaining new GPE features to the 'slow' path. Specific Integrated Circuit (ASIC)) while punting the processing of
the remaining new GPE features to the 'slow' path.
Shim protocols MUST have the first 32 bits defined as: Shim protocols MUST have the first 32 bits defined as:
0 1 2 3 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 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 | | Type | Length | Reserved | Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
~ Protocol Specific Fields ~ ~ Protocol-Specific Fields ~
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Shim Header Figure 4: Shim Header
Where: Where:
Type: This field identifies the different messages of this protocol. Type: This field identifies the different messages of this protocol.
Length: The length, in 4-octet units, of this protocol message not Length: This field indicates the length, in 4-octet units, of this
including the first 4 octets. protocol message, not including the first 4 octets.
Reserved: The use of this field is reserved to the protocol defined Reserved: The use of this field is reserved to the protocol defined
in this message. in this message.
Next Protocol Field: The next protocol field contains the protocol Next Protocol: This field contains the protocol of the encapsulated
of the encapsulated payload. The values are tracked in the IANA payload. The values are tracked in the IANA "LISP-GPE Next
LISP-GPE Next Protocol Registry as described in Section 6.1. Protocol" registry, as described in Section 6.1.
4. Implementation and Deployment Considerations 4. Implementation and Deployment Considerations
4.1. Applicability Statement 4.1. Applicability Statement
LISP-GPE conforms, as an UDP-based encapsulation protocol, to the UDP LISP-GPE conforms, as a UDP-based encapsulation protocol, to the UDP
usage guidelines as specified in [RFC8085]. The applicability of usage guidelines specified in [RFC8085]. The applicability of these
these guidelines are dependent on the underlay IP network and the guidelines is dependent on the underlay IP network and the nature of
nature of the encapsulated payload. the encapsulated payload.
[RFC8085] outlines two applicability scenarios for UDP applications, [RFC8085] outlines two applicability scenarios for UDP applications:
1) general Internet and 2) controlled environment. The controlled 1) the general Internet and 2) a controlled environment. A
environment means a single administrative domain or adjacent set of controlled environment means a single administrative domain or
cooperating domains. A network in a controlled environment can be adjacent set of cooperating domains. A network in a controlled
managed to operate under certain conditions whereas in general environment can be managed to operate under certain conditions,
Internet this cannot be done. Hence requirements for a tunnel whereas, in the general Internet, this cannot be done. Hence,
protocol operating under a controlled environment can be less requirements for a tunnel protocol operating under a controlled
restrictive than the requirements of general internet. environment can be less restrictive than the requirements of the
general Internet.
LISP-GPE scope of applicability is the same set of use cases covered The LISP-GPE scope of applicability is the same set of use cases
by[I-D.ietf-lisp-rfc6830bis] for the LISP dataplane protocol. The covered by [RFC9300] for the LISP data plane protocol. The common
common property of these use cases is a large set of cooperating property of these use cases is a large set of cooperating entities
entities seeking to communicate over the public Internet or other seeking to communicate over the public Internet or other large
large underlay IP infrastructures, while keeping the addressing and underlay IP infrastructures while keeping the addressing and topology
topology of the cooperating entities separate from the underlay and of the cooperating entities separate from the underlay and Internet
Internet topology, routing, and addressing. topology, routing, and addressing.
LISP-GPE is meant to be deployed in network environments operated by LISP-GPE is meant to be deployed in network environments operated by
a single operator or adjacent set of cooperating network operators a single operator or adjacent set of cooperating network operators
that fits with the definition of controlled environments in that fit with the definition of controlled environments in [RFC8085].
[RFC8085].
For the purpose of this document, a traffic-managed controlled For the purpose of this document, a Traffic-Managed Controlled
environment (TMCE), outlined in [RFC8086], is defined as an IP Environment (TMCE), outlined in [RFC8086], is defined as an IP
network that is traffic-engineered and/or otherwise managed (e.g., network that is traffic-engineered and/or otherwise managed (e.g.,
via use of traffic rate limiters) to avoid congestion. Significant via the use of traffic rate limiters) to avoid congestion.
portions of text in this Section are based on [RFC8086]. Significant portions of the text in this section are based on
[RFC8086].
It is the responsibility of the network operators to ensure that the It is the responsibility of the network operators to ensure that the
guidelines/requirements in this section are followed as applicable to guidelines/requirements in this section are followed as applicable to
their LISP-GPE deployments their LISP-GPE deployments.
4.2. Congestion Control Functionality 4.2. Congestion-Control Functionality
LISP-GPE does not natively provide congestion control functionality LISP-GPE does not provide congestion-control functionality and relies
and relies on the payload protocol traffic for congestion control. on the payload protocol traffic for congestion control. As such,
As such LISP-GPE MUST be used with congestion controlled traffic or LISP-GPE MUST be used with congestion-controlled traffic or within a
within a network that is traffic managed to avoid congestion (TMCE). network that is traffic managed to avoid congestion (TMCE). An
An operator of a traffic managed network (TMCE) may avoid congestion operator of a traffic-managed network (TMCE) may avoid congestion by
by careful provisioning of their networks, rate-limiting of user data careful provisioning of their networks, rate limiting of user data
traffic and traffic engineering according to path capacity. traffic, and traffic engineering according to path capacity.
Keeping in mind the reccomendation above, new encapsulated payloads, Keeping in mind the recommendation above, new encapsulated payloads,
when registered with LISP-GPE, MUST be accompained by a set of when registered with LISP-GPE, MUST be accompanied by a set of
guidelines derived from [I-D.ietf-lisp-rfc6830bis]. Such new guidelines derived from Section 5 of [RFC9300]. Such new protocols
protocols should be designed for explicit congestion signals to should be designed for explicit congestion signals to propagate
propagate consistently from lower layer protocols into IP. Then the consistently from lower-layer protocols into IP. Then, the IP
IP internetwork layer can act as a portability layer to carry internetwork layer can act as a portability layer to carry congestion
congestion notification from non-IP-aware congested nodes up to the notifications from non-IP-aware congested nodes up to the transport
transport layer (L4). By following the guidelines in layer (L4). By following the guidelines in [ENCAP-GUIDE], subnetwork
[I-D.ietf-tsvwg-ecn-encap-guidelines], subnetwork designers can designers can enable a Layer 2 protocol to participate in congestion
enable a layer-2 protocol to participate in congestion control control without dropping packets, via propagation of Explicit
without dropping packets via propagation of explicit congestion Congestion Notification (ECN) data [RFC3168] to receivers.
notification (ECN [RFC3168] ) to receivers.
4.3. UDP Checksum 4.3. UDP Checksum
For IP payloads, section 5.3 of [I-D.ietf-lisp-rfc6830bis] specifies For IP payloads, Section 5.3 of [RFC9300] specifies how to handle UDP
how to handle UDP Checksums encouraging implementors to consider UDP checksums, encouraging implementors to consider UDP checksum usage
checksum usage guidelines in section 3.4 of [RFC8085] when it is guidelines in Section 3.4 of [RFC8085] when it is desirable to
desirable to protect UDP and LISP headers against corruption. protect UDP and LISP headers against corruption.
In order to provide integrity of LISP-GPE headers, options and In order to protect the integrity of LISP-GPE headers, options, and
payload, for example to avoid mis-delivery of payload to different payloads (for example, to avoid misdelivery of payloads to different
tenant systems in case of data corruption, outer UDP checksum SHOULD tenant systems in the case of data corruption), the outer UDP
be used with LISP-GPE when transported over IPv4. The UDP checksum checksum SHOULD be used with LISP-GPE when transported over IPv4.
provides a statistical guarantee that a payload was not corrupted in The UDP checksum provides a statistical guarantee that a payload was
transit. These integrity checks are not strong from a coding or not corrupted in transit. These integrity checks are not strong from
cryptographic perspective and are not designed to detect physical- a coding or cryptographic perspective and are not designed to detect
layer errors or malicious modification of the datagram (see physical-layer errors or malicious modifications of the datagram (see
Section 3.4 of [RFC8085]). In deployments where such a risk exists, Section 3.4 of [RFC8085]). In deployments where such a risk exists,
an operator SHOULD use additional data integrity mechanisms such as an operator SHOULD use additional data integrity mechanisms, such as
offered by IPSec. those offered by IPsec.
An operator MAY choose to disable UDP checksum and use zero checksum An operator MAY choose to disable a UDP checksum and use a zero
if LISP-GPE packet integrity is provided by other data integrity checksum if LISP-GPE packet integrity is provided by other data
mechanisms such as IPsec or additional checksums or if one of the integrity mechanisms, such as IPsec or additional checksums, or if
conditions in Section 4.3.1 a, b, c are met. one of the conditions in Section 4.3.1 (a, b, or c) is met.
4.3.1. UDP Zero Checksum Handling with IPv6 4.3.1. UDP Zero Checksum Handling with IPv6
By default, UDP checksum MUST be used when LISP-GPE is transported By default, a UDP checksum MUST be used when LISP-GPE is transported
over IPv6. A tunnel endpoint MAY be configured for use with zero UDP over IPv6. A tunnel endpoint MAY be configured for use with a zero
checksum if additional requirements described in this section are UDP checksum if additional requirements described in this section are
met. met.
When LISP-GPE is used over IPv6, UDP checksum is used to protect IPv6 When LISP-GPE is used over IPv6, a UDP checksum is used to protect
headers, UDP headers and LISP-GPE headers and payload from potential IPv6 headers, UDP headers, and LISP-GPE headers and payloads from
data corruption. As such by default LISP-GPE MUST use UDP checksum potential data corruption. As such, by default, LISP-GPE MUST use a
when transported over IPv6. An operator MAY choose to configure to UDP checksum when transported over IPv6. An operator MAY choose to
operate with zero UDP checksum if operating in a traffic managed configure to operate with a zero UDP checksum if operating in a
controlled environment as stated in Section 4.1 if one of the traffic-managed controlled environment, as stated in Section 4.1, if
following conditions are met: one of the following conditions is met:
a. It is known that the packet corruption is exceptionally unlikely a. It is known that packet corruption is exceptionally unlikely
(perhaps based on knowledge of equipment types in their underlay (perhaps based on an operator's knowledge of equipment types in
network) and the operator is willing to take a risk of undetected their underlay network), and the operator is willing to take the
packet corruption risk of undetected packet corruption.
b. It is judged through observational measurements (perhaps through b. It is determined through observational measurements (perhaps
historic or current traffic flows that use non zero checksum) through historic or current traffic flows that use a non-zero
that the level of packet corruption is tolerably low and where checksum) that the level of packet corruption is tolerably low,
the operator is willing to take the risk of undetected corruption and the operator is willing to take the risk of undetected
corruption.
c. LISP-GPE payload is carrying applications that are tolerant of c. LISP-GPE payloads are carrying applications that are tolerant of
misdelivered or corrupted packets (perhaps through higher layer misdelivered or corrupted packets (perhaps through higher-layer
checksum validation and/or reliability through retransmission) checksum validation and/or reliability through retransmission).
In addition LISP-GPE tunnel implementations using Zero UDP checksum In addition, LISP-GPE tunnel implementations using a zero UDP
MUST meet the following requirements: checksum MUST meet the following requirements:
1. Use of UDP checksum over IPv6 MUST be the default configuration 1. Use of a UDP checksum over IPv6 MUST be the default configuration
for all LISP-GPE tunnels for all LISP-GPE tunnels.
2. If LISP-GPE is used with zero UDP checksum over IPv6 then such 2. If LISP-GPE is used with a zero UDP checksum over IPv6, then such
xTR implementation MUST meet all the requirements specified in xTR implementations MUST meet all the requirements specified in
section 4 of [RFC6936] and requirements 1 as specified in section Section 4 of [RFC6936] and requirement 1 specified in Section 5
5 of [RFC6936] of [RFC6936].
3. The ETR that decapsulates the packet SHOULD check the source and 3. The Egress Tunnel Router (ETR) that decapsulates the packet
destination IPv6 addresses are valid for the LISP-GPE tunnel that SHOULD check that the source and destination IPv6 addresses are
is configured to receive Zero UDP checksum and discard other valid for the LISP-GPE tunnel that is configured to receive a
packets for which such check fails zero UDP checksum and discard other packets that fail such
checks.
4. The ITR that encapsulates the packet MAY use different IPv6 4. The Ingress Tunnel Router (ITR) that encapsulates the packet MAY
source addresses for each LISP-GPE tunnel that uses Zero UDP use different IPv6 source addresses for each LISP-GPE tunnel that
checksum mode in order to strengthen the decapsulator's check of uses zero UDP checksum mode in order to strengthen the
the IPv6 source address (i.e the same IPv6 source address is not decapsulator's check of the IPv6 source address (i.e., the same
to be used with more than one IPv6 destination address, IPv6 source address is not to be used with more than one IPv6
irrespective of whether that destination address is a unicast or destination address, irrespective of whether that destination
multicast address). When this is not possible, it is RECOMMENDED address is a unicast or multicast address). When this is not
to use each source address for as few LISP-GPE tunnels that use possible, it is RECOMMENDED to use each source address for as few
zero UDP checksum as is feasible LISP-GPE tunnels that use a zero UDP checksum as is feasible.
5. Measures SHOULD be taken to prevent LISP-GPE traffic over IPv6 5. Measures SHOULD be taken to prevent LISP-GPE traffic over IPv6
with zero UDP checksum from escaping into the general Internet. with a zero UDP checksum from escaping into the general Internet.
Examples of such measures include employing packet filters at the Examples of such measures include employing packet filters at the
PETR and/or keeping logical or physical separation of LISP Proxy Egress Tunnel Router (PETR) and/or keeping logical or
network from networks carrying General Internet physical separation of the LISP network from networks in the
general Internet.
The above requirements do not change either the requirements The above requirements do not change the requirements specified in
specified in [RFC2460] as modified by [RFC6935] or the requirements [RFC6935], [RFC6936], or [RFC8200].
specified in [RFC6936].
The requirement to check the source IPv6 address in addition to the The requirement to check the source IPv6 address in addition to the
destination IPv6 address, plus the recommendation against reuse of destination IPv6 address, plus the recommendation against the reuse
source IPv6 addresses among LISP-GPE tunnels collectively provide of source IPv6 addresses among LISP-GPE tunnels, collectively provide
some mitigation for the absence of UDP checksum coverage of the IPv6 some mitigation for the absence of UDP checksum coverage of the IPv6
header. A traffic-managed controlled environment that satisfies at header. A traffic-managed controlled environment that satisfies at
least one of three conditions listed at the beginning of this section least one of the three conditions listed at the beginning of this
provides additional assurance. section provides additional assurance.
4.4. DSCP, ECN, TTL, and 802.1Q 4.4. DSCP, ECN, TTL, and 802.1Q
When encapsulating IP (including over Ethernet) packets [RFC2983] When encapsulating IP (including over Ethernet) packets, [RFC2983]
provides guidance for mapping DSCP between inner and outer IP provides guidance for mapping packets that contain Differentiated
headers. The Pipe model typically fits better Network 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 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 a policy (which may be a fixed value, one based on the inner traffic
class, or some other mechanism for grouping traffic). Some aspects class, or some other mechanism for grouping traffic). Some aspects
of the Uniform model (which treats the inner and outer DSCP value as 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 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 as the ability to remark the inner header on tunnel egress based on
transit marking. However, the Uniform model is not conceptually transit marking. However, the Uniform model is not conceptually
consistent with network virtualization, which seeks to provide strong consistent with network virtualization, which seeks to provide strong
isolation between encapsulated traffic and the physical network. isolation between encapsulated traffic and the physical network.
[RFC6040] describes the mechanism for exposing ECN capabilities on IP [RFC6040] describes the mechanism for exposing ECN capabilities on IP
tunnels and propagating congestion markers to the inner packets. tunnels and propagating congestion markers to the inner packets.
This behavior MUST be followed for IP packets encapsulated in LISP- This behavior MUST be followed for IP packets encapsulated in LISP-
GPE. GPE.
Though Uniform or Pipe models could be used for TTL (or Hop Limit in Though the Uniform model or the Pipe model could be used for TTL (or
case of IPv6) handling when tunneling IP packets, Pipe model is more Hop Limit in the case of IPv6) handling when tunneling IP packets,
aligned with network virtualization. [RFC2003] provides guidance on the Pipe model is more aligned with network virtualization.
handling TTL between inner IP header and outer IP tunnels; this model [RFC2003] provides guidance on handling TTL between inner IP headers
is more aligned with the Pipe model and is recommended for use with and outer IP tunnels; this model is more aligned with the Pipe model
LISP-GPE for network virtualization applications. and is recommended for use with LISP-GPE for network-virtualization
applications.
When a LISP-GPE router performs Ethernet encapsulation, the inner When a LISP-GPE router performs Ethernet encapsulation, the inner
802.1Q [IEEE.802.1Q_2014] 3-bit priority code point (PCP) field MAY 802.1Q 3-bit Priority Code Point ('PCP') field [IEEE.802.1Q_2014] MAY
be mapped from the encapsulated frame to the DSCP codepoint of the DS be mapped from the encapsulated frame to the DSCP codepoint of the
field defined in [RFC2474]. Differentiated Services ('DS') field defined in [RFC2474].
When a LISP-GPE router performs Ethernet encapsulation, the inner When a LISP-GPE router performs Ethernet encapsulation, the inner-
header 802.1Q [IEEE.802.1Q_2014] VLAN Identifier (VID) MAY be mapped header 802.1Q VLAN Identifier (VID) [IEEE.802.1Q_2014] MAY be mapped
to, or used to determine the LISP Instance IDentifier (IID) field. to, or used to determine, the LISP 'Instance ID' (IID) field.
Refer to Section 7 for consideration about the use of integrity Refer to Section 7 for considerations about the use of integrity
protection for deployments, such as the public Internet, concerned protection for deployments, such as the public Internet, concerned
with on-path attackers. with on-path attackers.
5. Backward Compatibility 5. Backward Compatibility
LISP-GPE uses the same UDP destination port (4341) allocated to LISP. LISP-GPE uses the same UDP destination port (4341) allocated to LISP.
When encapsulating IP packets to a non LISP-GPE capable router the When encapsulating IP packets to a non-LISP-GPE-capable router, the
P-bit MUST be set to 0. That is, the encapsulation format defined in P-bit MUST be set to 0. That is, the encapsulation format defined in
this document MUST NOT be sent to a router that has not indicated this document MUST NOT be sent to a router that has not indicated
that it supports this specification because such a router would that it supports this specification, because such a router would
ignore the P-bit (as described in [I-D.ietf-lisp-rfc6830bis]) and so ignore the P-bit (as described in [RFC9300]) and so would
would misinterpret the other LISP header fields possibly causing misinterpret the other LISP header fields, possibly causing
significant errors. significant errors.
5.1. Detection of ETR Capabilities 5.1. Detection of ETR Capabilities
The discovery of xTR capabilities to support LISP-GPE is out of the The discovery of xTR capabilities to support LISP-GPE is out of the
scope of this document. Given that the applicability domain of LISP- scope of this document. Given that the applicability domain of LISP-
GPE is a traffic-managed controlled environment, ITR/ETR (xTR) GPE is a traffic-managed controlled environment, ITR/ETR (xTR)
configuration mechanisms may be used for this purpose. configuration mechanisms may be used for this purpose.
6. IANA Considerations 6. IANA Considerations
6.1. LISP-GPE Next Protocol Registry 6.1. LISP-GPE Next Protocol Registry
IANA is requested to set up a registry of LISP-GPE "Next Protocol". IANA has created a registry called "LISP-GPE Next Protocol". These
These are 8-bit values. Next Protocol values in the table below are are 8-bit values. Next Protocol values in the table below are
defined in this document. New values are assigned under the defined in this document. New values are assigned under the
Specification Required policy [RFC8126]. The protocols that are Specification Required policy [RFC8126]. The protocols that are
being assigned values do not themselves need to be IETF standards being assigned values do not themselves need to be IETF Standards
track protocols. Track protocols.
+--------------+-------------------------------------+--------------+ +===============+=============================+===========+
| Next | Description | Reference | | Next Protocol | Description | Reference |
| Protocol | | | +===============+=============================+===========+
+--------------+-------------------------------------+--------------+ | 0x00 | Reserved | RFC 9305 |
| 0x0 | Reserved | This | +---------------+-----------------------------+-----------+
| | | Document | | 0x01 | IPv4 | RFC 9305 |
| 0x1 | IPv4 | This | +---------------+-----------------------------+-----------+
| | | Document | | 0x02 | IPv6 | RFC 9305 |
| 0x2 | IPv6 | This | +---------------+-----------------------------+-----------+
| | | Document | | 0x03 | Ethernet | RFC 9305 |
| 0x3 | Ethernet | This | +---------------+-----------------------------+-----------+
| | | Document | | 0x04 | NSH | RFC 9305 |
| 0x4 | NSH | This | +---------------+-----------------------------+-----------+
| | | Document | | 0x05-0x7D | Unassigned | |
| 0x05..0x7D | Unassigned | | +---------------+-----------------------------+-----------+
| 0x7E..0x7F | Experimentation and testing | This | | 0x7E-0x7F | Experimentation and testing | RFC 9305 |
| | | Document | +---------------+-----------------------------+-----------+
| 0x80..0xFD | Unassigned (shim headers) | | | 0x80-0xFD | Unassigned (shim headers) | |
| 0x8E..0x8F | Experimentation and testing (shim | This | +---------------+-----------------------------+-----------+
| | headers) | Document | | 0xFE-0xFF | Experimentation and testing | RFC 9305 |
+--------------+-------------------------------------+--------------+ | | (shim headers) | |
+---------------+-----------------------------+-----------+
Table 1
7. Security Considerations 7. Security Considerations
LISP-GPE security considerations are similar to the LISP security LISP-GPE security considerations are similar to the LISP security
considerations and mitigation techniques documented in [RFC7835]. considerations and mitigation techniques documented in [RFC7835].
LISP-GPE, as many encapsulations that use optional extensions, is As is the case for many encapsulations that use optional extensions,
subject to on-path adversaries that can make arbitrary modifications LISP-GPE is subject to on-path adversaries that can make arbitrary
to the packet (including the P-Bit) to change or remove any part of modifications to the packet (including the P-bit) to change or remove
the payload, or claim to encapsulate any protocol payload type. any part of the payload, or claim to encapsulate any protocol payload
Typical integrity protection mechanisms (such as IPsec) SHOULD be type. Typical integrity protection mechanisms (such as IPsec) SHOULD
used in combination with LISP-GPE by those protocol extensions that be used in combination with LISP-GPE by those protocol extensions
want to protect from on-path attackers. that want to protect against on-path attackers.
With LISP-GPE, issues such as data-plane spoofing, flooding, and With LISP-GPE, issues such as data plane spoofing, flooding, and
traffic redirection may depend on the particular protocol payload traffic redirection may depend on the particular protocol payload
encapsulated. encapsulated.
8. Acknowledgements and Contributors 8. References
A special thank you goes to Dino Farinacci for his guidance and
detailed review. Thanks to Tom Herbert for the suggestion to assign
codepoints for experimentations and testing.
This Working Group (WG) document originated as draft-lewis-lisp-gpe;
the following are its coauthors and contributors along with their
respective affiliations at the time of WG adoption. The editor of
this document would like to thank and recognize them and their
contributions. These coauthors and contributors provided invaluable
concepts and content for this document's creation.
o Darrel Lewis, Cisco Systems, Inc.
o Fabio Maino, Cisco Systems, Inc.
o Paul Quinn, Cisco Systems, Inc.
o Michael Smith, Cisco Systems, Inc.
o Navindra Yadav, Cisco Systems, Inc.
o Larry Kreeger
o Jennifer Lemon, Broadcom
o Puneet Agarwal, Innovium
9. References
9.1. Normative References
[I-D.ietf-lisp-rfc6830bis] 8.1. Normative References
Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A.
Cabellos-Aparicio, "The Locator/ID Separation Protocol
(LISP)", draft-ietf-lisp-rfc6830bis-32 (work in progress),
March 2020.
[IEEE.802.1Q_2014] [IEEE.802.1Q_2014]
IEEE, "IEEE Standard for Local and metropolitan area IEEE, "IEEE Standard for Local and metropolitan area
networks--Bridges and Bridged Networks", IEEE 802.1Q-2014, networks--Bridges and Bridged Networks", IEEE Std 802.1Q-
DOI 10.1109/ieeestd.2014.6991462, December 2014, 2014, December 2014, <http://ieeexplore.ieee.org/servlet/
<http://ieeexplore.ieee.org/servlet/
opac?punumber=6991460>. opac?punumber=6991460>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion [RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion
Notification", RFC 6040, DOI 10.17487/RFC6040, November Notification", RFC 6040, DOI 10.17487/RFC6040, November
2010, <https://www.rfc-editor.org/info/rfc6040>. 2010, <https://www.rfc-editor.org/info/rfc6040>.
9.2. Informative References [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[I-D.brockners-ippm-ioam-vxlan-gpe] [RFC9300] Farinacci, D., Fuller, V., Meyer, D., Lewis, D., and A.
Brockners, F., Bhandari, S., Govindan, V., Pignataro, C., Cabellos, Ed., "The Locator/ID Separation Protocol
Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Kfir, A., (LISP)", RFC 9300, DOI 10.17487/RFC9300, October 2022,
Gafni, B., Lapukhov, P., and M. Spiegel, "VXLAN-GPE <https://www.rfc-editor.org/info/rfc9300>.
Encapsulation for In-situ OAM Data", draft-brockners-ippm-
ioam-vxlan-gpe-03 (work in progress), November 2019.
[I-D.ietf-tsvwg-ecn-encap-guidelines] 8.2. Informative References
Briscoe, B., Kaippallimalil, J., and P. Thaler,
"Guidelines for Adding Congestion Notification to
Protocols that Encapsulate IP", draft-ietf-tsvwg-ecn-
encap-guidelines-13 (work in progress), May 2019.
[I-D.lemon-vxlan-lisp-gpe-gbp] [ENCAP-GUIDE]
Lemon, J., Maino, F., Smith, M., and A. Isaac, "Group Briscoe, B. and J. Kaippallimalil, "Guidelines for Adding
Policy Encoding with VXLAN-GPE and LISP-GPE", draft-lemon- Congestion Notification to Protocols that Encapsulate IP",
vxlan-lisp-gpe-gbp-02 (work in progress), April 2019. Work in Progress, Internet-Draft, draft-ietf-tsvwg-ecn-
encap-guidelines-17, 11 July 2022,
<https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-
ecn-encap-guidelines-17>.
[RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003,
DOI 10.17487/RFC2003, October 1996, DOI 10.17487/RFC2003, October 1996,
<https://www.rfc-editor.org/info/rfc2003>. <https://www.rfc-editor.org/info/rfc2003>.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
December 1998, <https://www.rfc-editor.org/info/rfc2460>.
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS "Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474, Field) in the IPv4 and IPv6 Headers", RFC 2474,
DOI 10.17487/RFC2474, December 1998, DOI 10.17487/RFC2474, December 1998,
<https://www.rfc-editor.org/info/rfc2474>. <https://www.rfc-editor.org/info/rfc2474>.
[RFC2983] Black, D., "Differentiated Services and Tunnels", [RFC2983] Black, D., "Differentiated Services and Tunnels",
RFC 2983, DOI 10.17487/RFC2983, October 2000, RFC 2983, DOI 10.17487/RFC2983, October 2000,
<https://www.rfc-editor.org/info/rfc2983>. <https://www.rfc-editor.org/info/rfc2983>.
skipping to change at page 15, line 40 skipping to change at line 638
[RFC8086] Yong, L., Ed., Crabbe, E., Xu, X., and T. Herbert, "GRE- [RFC8086] Yong, L., Ed., Crabbe, E., Xu, X., and T. Herbert, "GRE-
in-UDP Encapsulation", RFC 8086, DOI 10.17487/RFC8086, in-UDP Encapsulation", RFC 8086, DOI 10.17487/RFC8086,
March 2017, <https://www.rfc-editor.org/info/rfc8086>. March 2017, <https://www.rfc-editor.org/info/rfc8086>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, (IPv6) Specification", STD 86, RFC 8200,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. DOI 10.17487/RFC8200, July 2017,
<https://www.rfc-editor.org/info/rfc8200>.
[RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed., [RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
"Network Service Header (NSH)", RFC 8300, "Network Service Header (NSH)", RFC 8300,
DOI 10.17487/RFC8300, January 2018, DOI 10.17487/RFC8300, January 2018,
<https://www.rfc-editor.org/info/rfc8300>. <https://www.rfc-editor.org/info/rfc8300>.
[VXLAN-GPE]
Brockners, F., Bhandari, S., Govindan, V., Pignataro, C.,
Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Kfir, A.,
Gafni, B., Lapukhov, P., and M. Spiegel, "VXLAN-GPE
Encapsulation for In-situ OAM Data", Work in Progress,
Internet-Draft, draft-brockners-ippm-ioam-vxlan-gpe-03, 4
November 2019, <https://datatracker.ietf.org/doc/html/
draft-brockners-ippm-ioam-vxlan-gpe-03>.
[VXLAN-LISP]
Lemon, J., Ed., Maino, F., Smith, M., and A. Isaac, "Group
Policy Encoding with VXLAN-GPE and LISP-GPE", Work in
Progress, Internet-Draft, draft-lemon-vxlan-lisp-gpe-gbp-
02, 30 April 2019, <https://datatracker.ietf.org/doc/html/
draft-lemon-vxlan-lisp-gpe-gbp-02>.
Acknowledgments
A special thank you goes to Dino Farinacci for his guidance and
detailed review. Thanks to Tom Herbert for the suggestion to assign
codepoints for experimentations and testing.
Contributors
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.
Darrel Lewis
Cisco Systems, Inc.
Fabio Maino
Cisco Systems, Inc.
Paul Quinn
Cisco Systems, Inc.
Michael Smith
Cisco Systems, Inc.
Navindra Yadav
Cisco Systems, Inc.
Larry Kreeger
Jennifer Lemon
Broadcom
Puneet Agarwal
Innovium
Authors' Addresses Authors' Addresses
Fabio Maino (editor) Fabio Maino (editor)
Cisco Systems Cisco Systems
San Jose, CA 95134 San Jose, CA
USA United States of America
Email: fmaino@cisco.com Email: fmaino@cisco.com
Jennifer Lemon Jennifer Lemon
Broadcom Email: jalemon@meus.us
270 Innovation Drive
San Jose, CA 95134
USA
Email: jennifer.lemon@broadcom.com
Puneet Agarwal Puneet Agarwal
Innovium Innovium
USA United States of America
Email: puneet@acm.org Email: puneet@acm.org
Darrel Lewis Darrel Lewis
Cisco Systems Cisco Systems
San Jose, CA 95134 San Jose, CA
USA United States of America
Email: darlewis@cisco.com Email: darlewis@cisco.com
Michael Smith Michael Smith
Cisco Systems Cisco Systems
San Jose, CA 95134 San Jose, CA 95134
USA United States of America
Email: michsmit@cisco.com Email: michsmit@cisco.com
 End of changes. 104 change blocks. 
403 lines changed or deleted 407 lines changed or added

This html diff was produced by rfcdiff 1.48.